答案 0 :(得分:9)
使用:
msbuild project.cbproj /p:config=[build configuration]
更多细节可以在 Building a Project Using an MSBuild Command 中找到。
答案 1 :(得分:8)
在C ++ Builder中自动化构建有不同的方法(根据我的经验,我说的是像5 and 6这样的旧C ++ Builder版本。)
如果您需要编译Delphi个单元,资源文件或汇编语言,您可以手动调用编译器 - bcc32.exe
(dcc32.exe
,brcc32.exe
和tasm32.exe
源代码中的代码行和链接器 - ilink32.exe。
在这种情况下,您需要手动提供必要的输入文件,路径和键作为编译和链接的每个阶段的参数。
编译和链接所需的所有数据都存储在项目文件中,并且希望C ++ Builder安装中包含特殊实用程序,这些实用程序可以自动完成这项脏工作,为编译器和链接器提供必要的参数并运行它们。他们的名字是bpr2mak.exe
和make.exe
。
首先,您必须运行bpr2mak.exe
,将项目* .bpr或* .bpk文件作为参数传递,然后您将获得一个特殊的* .mak文件作为输出,您可以使用它来馈送{ {1}},最终将构建您的项目。
看看这个简单的cmd脚本:
make.exe
您可以将“YourProject.mak”的真实名称作为参数提供给@bpr2mak.exe YourProject.bpr
@ren YourProject.mak makefile
@make.exe
,但最直接的方法是将* .mak文件重命名为“makefile”,然后make.exe
会找到它。
要拥有不同的构建选项,您可以执行以下操作:
第一种方式:您可以在IDE中打开项目,编辑选项并使用不同的项目名称将其保存在同一文件夹中(通常有两个项目文件用于调试和发布编译选项)。然后,您可以为您的构建脚本提供不同的* .bpr文件。这样,它看起来很简单,因为它不涉及脚本,但如果发生了变化(添加了表格或单位等),用户将不得不手动维护所有项目文件的一致性。
第二种方法是制作一个编辑项目文件或制作文件的脚本。您将不得不解析文件,查找编译器和链接器相关的行并输入必要的密钥。您甚至可以在cmd脚本中执行此操作,但最好使用Python之类的专用脚本语言。
答案 2 :(得分:0)
未提及一点细节。
假定您具有外部依赖关系,并且文件夹中最初不存在 .dll 文件
您需要在 ILINK32.CFG 文件中包括外部依赖项。 该文件通常在文件夹中
C:\ Program Files(x86)\ Borland \ CBuilder6 \ Bin \ ilink32.cfg
(请考虑您的安装位置)
在此文件中,放置依赖项注释。
示例:TeeChart的依赖项如下所示(考虑最后一个参数):
-L“ C:\ Program Files(x86)\ Borland \ CBuilder6 \ lib”;“ C:\ Program Files(x86)\ Borland \ CBuilder6 \ lib \ obj”;“ C:\ Program Files(x86) \ Borland \ CBuilder6 \ lib \ release“;” C:\ Program Files(x86)\ Steema Software \ TeeChart 805 for Builder 6 \ Builder6 \ Include \“;” C:\ Program Files(x86)\ Steema Software \ TeeChart 805适用于Builder 6 \ Builder6 \ Lib \“
您还需要包含-f命令进行编译。
在cmd中,执行以下操作:
//first generate the file.mak
1 - bpr2mak.exe MyProject.bpr
//then compile the .mak
2 - make.exe -f MyProject.mak
您还可以直接使用bpr2mak生成一个具有其他名称的临时mak文件,如上面的答案所述
bpr2mak.exe MyProject.bpr -oMyTempMak.mak