在命令行上编译C++ Builder项目

Srk*_*rki 8 automation build-process build c++builder

有没有办法从命令行编译C++ Builder项目(特定的构建配置)?

就像是:

CommandToBuild ProjectNameToBuild BuildConfiguration ...
Run Code Online (Sandbox Code Playgroud)

小智 9

使用:

msbuild project.cbproj /p:config=[build configuration]
Run Code Online (Sandbox Code Playgroud)

使用MSBuild命令构建项目中可以找到更多细节.


Ser*_*hin 8

在C++ Builder中有不同的自动构建方法(根据我的经验,我说的是旧的C++ Builder版本,如5和6).

您可以手动调用编译器- bcc32.exe(也dcc32.exe,brcc32.exetasm32.exe如果你要编译的Delphi单位,资源文件或在你的源代码的汇编语言系)和链接- ilink32.exe.

在这种情况下,您需要手动提供必要的输入文件,路径和键作为编译和链接的每个阶段的参数.

编译和链接所需的所有数据都存储在项目文件中,并且希望C++ Builder安装中包含特殊实用程序,这些实用程序可以自动执行这些脏工作,为编译器和链接器提供必要的参数并运行它们.他们的名字是bpr2mak.exemake.exe.

首先,您必须运行bpr2mak.exe,将项目*.bpr或*.bpk文件作为参数传递,然后您将获得一个特殊的*.mak文件作为输出,您可以使用它作为输入,make.exe最终将构建您的项目.

看看这个简单的cmd脚本:

@bpr2mak.exe YourProject.bpr
@ren YourProject.mak makefile
@make.exe
Run Code Online (Sandbox Code Playgroud)

您可以提供"YourProject.mak"的真实名称作为参数make.exe,但最直接的方法是将*.mak文件重命名为"makefile",然后make.exe找到它.

要拥有不同的构建选项,您可以执行以下操作:

第一种方法:您可以在IDE中打开项目,编辑选项并使用不同的项目名称将其保存在同一文件夹中(通常有两个项目文件用于调试和发布编译选项).然后,您可以为您的构建脚本提供不同的*.bpr文件.这样,它看起来很简单,因为它不涉及脚本,但如果更改了某些内容(添加了表单或单元等),则用户必须手动维护所有项目文件的一致性.

第二种方法是创建一个编辑项目文件或生成文件的脚本.您将不得不解析文件,查找编译器和链接器相关的行并输入必要的密钥.您甚至可以在cmd脚本中执行此操作,但最好使用像Python这样的专用脚本语言.