XE4: Как изменить исходную базу данных exe на платформе?
Мне просто нужны выходные исполняемые имена, такие как MyApp32.exe и MyApp64.exe после компиляции моего проекта в Delphi XE4.
Я нашел директиву на форуме, которая {$ LIBSUFFIX '32'}, но похоже, что это только для dll.
Любые предложения для исполняемых файлов?
Спасибо.
Ответы
Ответ 1
Окончательное имя исполняемого файла всегда совпадает с именем файла проекта. Поэтому либо создавайте отдельные проекты с общим исходным кодом, либо используйте событие Post-Build для вызова script, который копирует и переименовывает выходной файл в отдельное развертывание после того, как он был скомпилирован, например:
copy /B "$(OutputPath)" "C:\Deployment\$(OutputName)$(MySuffix)$(OutputExt)"
Где MySuffix
определяется в параметрах проекта с другим значением для каждой платформы:
MySuffix=32
.
MySuffix=64
Используя отдельную папку, отладчик по-прежнему имеет доступ к исходному неиспользуемому исполняемому файлу для отладки и тестирования.
Ответ 2
Как я справляюсь с этим, у меня есть один проект с несколькими целями: 32/64 бит, debug/release и т.д. Каждая из этих целей выводится в отдельный каталог. Например, Win64\Release
.
Когда я готовлю файлы, необходимые для развертывания и установки, я переименовываю исполняемые файлы в этот момент. И это переименование необходимо, потому что я развертываю 32 и 64-разрядные версии в один и тот же каталог. Естественно, это все автоматизировано.
Подход Remy к переименованию выходного файла в качестве действия post-build имеет недостаток, что отладчик не сможет найти исполняемый файл.
Философия заключается в том, чтобы вписаться в среду разработки при работе с файлами, которые будут использоваться средой IDE. Но тогда, когда дело доходит до развертывания, вы можете переименовывать файлы, повторно организовывать их в другую структуру папок и т.д., Что лучше соответствует вашим потребностям развертывания.
Ответ 3
Простой трюк позволяет:
Перейдите в Настройки проекта → Приложение и в поле "Расширения целевого файла" добавьте уникальный суффикс для каждой конфигурации.
e.g
Debug 32 bit: debug32.exe
Debug 64 bit: debug64.exe
Release 32 bit: 32.exe
Release 64 bit: 64.exe
Вывод для проекта с именем "ProjectName":
ProjectName.debug32.exe
ProjectName.debug64.exe
ProjectName.32.exe
ProjectName.64.exe