1

我有一个名为 resources.rc 的 C 资源文件,其中包含以下行来指定用于项目的图标

    1000 ICON  "icon222.ico"

我想将这个相同的资源文件用于多个项目,根据项目使用预处理器条件..

例如

    #if __PROJECT__ == "myapp.exe"
    1000 ICON "icon222.ico"
    #endif

    #if __PROJECT__ == "myotherapp.exe"
    1000 ICON "icon777.ico"
    #endif

是否有标准的 C 宏或定义可用于实现这样的目标?

4

1 回答 1

1

据我所知,没有预定义的宏来承载 VC 设置的项目特定值。

因此,只需选择一个您自己喜欢的MYPROJECTNAME并且#define在您的每个项目中都不同,然后在您的 rc 文件中进行测试,就像您发布的那样。

我不确定 VC 是否自动在 rc 文件上使用预处理器,或者您是否需要在 VC 的构建过程中应用一些 mod 来让它执行此操作。


更新

要使用 ${EXENAME} 添加此功能,以便为 VC 设置全局(解决方案范围)设置,可能会在此处显示:Visual c++ 2008:如何在解决方案中定义全局设置或/和此处:可以我通过命令行将预处理器定义传递给资源编译器?

于 2013-04-01T09:30:48.970 回答