VS2015 MFC - 如何将静态库资源链接到项目

时间:2017-05-16 03:38:24

标签: c++ visual-c++ mfc

加入.rc / resource.h文件的问题

所以我在过去的4天里一直在研究这个问题,我似乎无法找到有效的答案。我找到了一些关于如何做到这一点的旧资源,但在VS2015中找不到如何做到这一点。

我正在构建一个MFC功能区应用程序,它使用静态库扩展名义上的Office2007主题。问题是我想将资源存储在lib中,而不是存储在项目本身中,因为我希望稍后以最小的开销重用这个lib。我知道主题代码工作正常,因为当您从lib .rc和resource.h文件中移动资源声明并将它们放在项目.rc / resource.h文件中时,libs函数可以正常工作。

我知道项目设置中的路径是正确的,因为程序编译时没有警告或错误。当我自定义主题被激活时逐行遍历代码时,它会在查找Style.XML文件时中断。

我已经在我的主项目的.rc文件中包含了我的lib的.rc / resource.h文件,并且已经在Configuration Properties / Resources / General / Additional Include Directories中添加了正确的资源路径。 / p>

然而,这似乎没有起作用,因为当我解压缩生成的.exe时,资源不在那里。

Tl; Dr如何将静态库链接/包含.png / .xml资源链接到MFC项目?

link to the resource I used to get this far

任何帮助表示赞赏!谢谢!!

1 个答案:

答案 0 :(得分:0)

所以我现在已经解决了这个问题。事实证明,我的lib项目.rc文件没有被正确编译成.res文件。一旦我从项目目录中删除了有问题的.rc文件,并从头开始重写,它就可以正确编译。一旦我这样做并在整个解决方案上进行了清理/重建,它就会重新开始工作,现在资源在.exe和我的自定义主题中正常显示!

基本上,原始问题中包含的链接中列出的流程按指定的方式工作,除非VS决定不正常工作!

如果有其他人遇到此问题。使用第三方资源编辑器解压缩.res文件,并确保它们正在正确编译。这个问题是一个沉默的时间杀手!