2

我在资源文件 (.rc) 中设置图像路径时遇到问题。

由于某种原因,无法连接定义的字符串和文本。

例如

File1:  
#define Path "Brand_1"

File2:  
#include File1

Logo BITMAP Path "\Logo.bmp"

Borland 资源编译器 (5.4) 抛出错误消息:39:无法打开文件:Brand_1

编辑:我的问题是:是否可以使用资源字符串变量和字符串(文件名)组合加载图像的路径。

此外,我正在处理的项目与存在于两个位置的文件 (Logo.bmp) 相关。我想要一个开关(.bat 文件)来根据要求生成不同的资源文件。

谢谢。

4

2 回答 2

2

BRCC32 接受 -i 作为以分号分隔的搜索路径,因此您可以像这样创建一个 bat 文件

compile_res.bat

brcc32 -ic:\mypath1;c:\mypath2 resource_script

并且您将 resource_script 定义为正常,例如:

资源脚本.rc

myImg BITMAP Logo.bmp
myDOC RCDATA mydoc.doc

当您运行 compile_res.bat 时,它将使用搜索路径运行 brcc32.exe,并且拥有 bat 文件可以避免您每次都重新输入搜索路径。

于 2012-06-23T04:07:55.840 回答
1

你没有连接任何东西。您正在编译Logo BITMAP "Brand_1" "\Logo.bmp",并且"Brand_1"不是位图文件的有效路径。

#define在资源编译器中的行为有点像文本处理器中的查找/替换 - 不完全是,但在这种情况下足够接近。

只要路径或文件名中没有空格字符,您可能会通过(未经测试)删除引号和它们之间的空格;否则,您可能不走运。(无论如何,不​​确定您要完成什么。)

于 2012-06-22T18:20:36.313 回答