Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 静态库文件中的资源-MFC_C++_Mfc_Resources_Static Libraries - Fatal编程技术网

C++ 静态库文件中的资源-MFC

C++ 静态库文件中的资源-MFC,c++,mfc,resources,static-libraries,C++,Mfc,Resources,Static Libraries,MFC似乎无法启动我的对话框,因为它找不到资源标识符。对话框位于一个单独的.lib文件中(因此它有一个单独的.rc文件,我假设它与.exe文件中的文件有冲突)。我应该如何处理这种情况?在.rc文件中为.exe文件添加一行,如下所示: #include "YourLibResourceFile.rc" 然后,在.exe的项目设置中,在Resources/additional include目录中,向libResourceFile.rc所在的位置添加一个额外的include目录。确保所有资源ID都

MFC似乎无法启动我的对话框,因为它找不到资源标识符。对话框位于一个单独的.lib文件中(因此它有一个单独的.rc文件,我假设它与.exe文件中的文件有冲突)。我应该如何处理这种情况?

在.rc文件中为.exe文件添加一行,如下所示:

#include "YourLibResourceFile.rc"

然后,在.exe的项目设置中,在Resources/additional include目录中,向libResourceFile.rc所在的位置添加一个额外的include目录。

确保所有资源ID都是唯一的。

您不能将资源(.rc文件内容)存储在静态库中。由于您只能有一个“main”.rc文件,所有其他.rc文件mst都可以使用
#include
语句包含在该文件中,如Smashery所解释的(编辑:噢!Smashery,您就是OP!)。

您能提供更多关于它如何“无法启动”的详细信息吗?具体症状是什么?我会打电话给DoModal,什么都不会发生。进入DoModal函数后发现资源无法加载。是的,我自己意外发现了这一点=P谢谢你的回答+1这一要求是制定的。例如,可以使用与对话框资源ID相同的位图资源。您还可以在具有相同ID的对话框中拥有多个子控件,即使在同一对话框中也是如此(对于静态控件来说是常见的)。虽然遵循您的建议是安全的,但它不必要地限制了您在项目中可以使用的资源总数。我想这个答案在当时对我来说是有意义的,但这是6年前的事了。我不明白为什么这会影响OP的问题。试图删除这个答案,但它有一票赞成,这表明它帮助了某人。。。。。