delphi - 如何根据目标平台控制EXE名称?

标签 delphi build exe

我想要两个不同的 exe 文件,具体取决于它是 32 位还是 64 位版本,例如 FooBar32.exe 和 FooBar64.exe。有没有办法设置它或者这将是构建后的操作?

最佳答案

在“应用程序”选项卡下的“项目选项”中,有一个用于更改目标文件扩展名的设置。您可以使用它来更改不同平台的项目可执行文件的名称。
注意:这仅扩展将创建的默认名称(项目名称+目标文件扩展名)

enter image description here

编辑:正如您所看到的,这种方法有一个缺点,那就是它总是在项目名称和目标文件扩展名之间添加一个点。

但说实话,我宁愿遵循配置 Delphi 将 Bin32 中的 32 位可执行文件和 64 bil 可执行文件输出到 Bin64 文件夹中的方法,而不是重命名主可执行文件。为什么?

如果您的应用程序使用任何外部动态链接库 (dll),您需要确保每个受支持的平台都有它们(32 位可执行文件需要 32 位 dll,而 64 位可执行文件需要 64 位 dll)。

因此,如果您将所有这些 dll 存储在一个文件夹中,则必须确保它们的命名正确(所有 32 位 dll 将具有 32 前缀,所有 64 位 dll 将具有 64 前缀)。但这也意味着在您的代码中您需要有特定的条目来从这些 dll 导入函数(一个用于 32 位 dll,一个用于 64 位 dll)。这确实会让一切变得复杂。

因此,为 32 位和 64 位应用程序版本创建单独的 bin 文件夹可以让您拥有具有相同名称的 32 位和 64 位应用程序的 dll,因此无需对源代码进行任何更改即可处理32 位和 64 位 dll

关于delphi - 如何根据目标平台控制EXE名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26836311/

相关文章:

delphi - 为什么加载的方法被忽略?

Delphi if else if else 语句不起作用 "Type of expression must be BOOLEAN"

build - 角: node_modules/@types/babel _traverse/index. d.ts(1137,43):错误TS1109:预期表达式

build - 在Mac上构建Dart : “xcodebuild: error: ' dart.xcodeproj' does not exist.”

windows - 签署 Windows EXE 文件

delphi - 无法解析的外部 UrlCombineW

Delphi TLB编辑器替换

java - Ant 不可变属性变为可变

perl - 编译的 perl 可执行文件无法在 Windows 7(64 位)上运行

php - 如何使用 PHP 的参数执行 .exe 并将输出放入 txt 文件?