$ bpr2mak_exe="#{ENV['BCB']}\\Bin\\bpr2mak.exe"
$ make_exe="#{ENV['BCB']}\\Bin\\make.exe"
$ puts `#{bpr2mak_exe} -omakefile MyProject.bpr`
Loading project file
Loading template
Generating Makefile
.........................................
& puts `#{make_exe} -fmakefile`
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
Fatal: 'MyProject.res' does not exist - don't know how to make it
我查看了所有命令行工具(专注于BRCC32.exe和GRC32.exe),它们都不像我需要的那样。我也尝试使用procmon来查看调用哪个程序来生成res文件。所以你们Borland / Embarcado的任何一个人都想管好吗? (如果有帮助,这是命令行帮助屏幕)
$ "${BCB}\bin\BRC32.exe" -?
Syntax: BRC32 [options ...] filename
options marked with a '*' are on by default
-r compile only. Do not bind resources
-fofilename set output res filename
-fefilename set output exe filename
-v verbose
-ipath set include path
-x ignore INCLUDE environment variable
-dname[=string] define #define
-32 * build 32-bit Windows compatible res/exe files
-16 build 16-bit Windows compatible res/exe files
-Vd.d Mark the .exe file with Windows version provided (4.0 is the default)
-31 Provided for downward compatibility (build 16-bit res/exe files)
-w32 Provided for downward compatibility (build 32-bit res/exe files)
-k do not create fastload area (16 bit only)
-t (ignored, for compatibility)
-? or -h display this message
$ "${BCB}\bin\BRCC32.exe" -?
Borland Resource Compiler Version 5.40
Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved.
Syntax: BRCC32 [options ...] filename
options marked with a '*' are on by default
@<filename> Take instructions from command file
-r (ignored for compatibility)
-16 Build 16-bit Windows compatible .res file
-32 * Build 32-bit Windows compatible .res file
-fofilename Set output filename
-v Verbose
-ipath Set include path
-dname[=string] Define #define
-x Ignore INCLUDE environment variable
-m Enable multi-byte character support
-cdddd set default code page to nnnn
-lxxxx set default language to xxxx
-31 Provided for downward compatibility (build 16-bit .res file)
-w32 Provided for downward compatibility (build 16-bit .res file)
-? or -h Display this message
只是为了好玩,我尝试对项目文件运行它们
$ "${BCB}\bin\BRC32.exe" -r MyProject.bpr
Borland Resource Compiler Version 5.40
Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved.
Error MyProject.bpr 1 1: Expecting resource name or resource type name
$ "${BCB}\bin\BRCC32.exe" -r MyProject.bpr
Borland Resource Compiler Version 5.40
Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved.
Error MyProject.bpr 1 1: Expecting resource name or resource type name
答案 0 :(得分:1)
IDE,而不是编译器,使用从项目文件中提取的版本信息生成默认的.res
文件。对于您尝试进行命令行编译的内容,最好使用所需的资源数据定义创建自己的.rc
脚本文件,然后使用{{1}将其编译为.res
文件},然后您可以使用brcc32
链接到它。
但是,你真的不应该使用ilink32
来编写一个Borland项目。使用Borland的make
编译器或MS的bcc32
框架(取决于您的C ++ Builder版本),让它处理msbuild
将要做的所有事情。然后,您可以编译make
或.bpr
文件,而无需先将其转换为.cproj
文件。