生成.Res Borland资源文件



在大量挖掘之后,我终于来了这个线程:.RES文件是否需要在源控制中?从一开始,我们从未将其包括在git中。现在,我正在尝试从命令行构建项目。如果我在Borland打开文件,它将要求我重新创建所述文件,然后我可以进行项目。如果我删除所有生成的文件和耙子,我将获得以下输出(为了清楚地爆炸了Ruby任务)

$ 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文件。所以你们中的任何一个人/埃姆斯卡多人都想说道吗?(如果有帮助,这是命令行帮助屏幕)

$ "${BCB}binBRC32.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}binBRCC32.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}binBRC32.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}binBRCC32.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

使用从项目文件中提取的版本信息生成默认的 .res文件,而不是编译器。对于您尝试进行命令行编译的内容,最好不要使用所需的资源数据定义创建自己的.rc脚本文件,然后使用brcc32将其编译为.res文件,然后您可以使用ilink32链接到它。

但是,您真的不应该使用make来编译Borland项目。使用Borland的bcc32编译器或MS的msbuild Framework(取决于您的C 构建器版本),并让其处理make所能做到的一切。然后,您可以编译.bpr.cproj文件,而无需将其转换为.mak文件。

最新更新