同一个工程下采用多个rc文件及对应的resource.h文件,这样可以多人同时编辑资源。如(project1.rc、project2.rc、resource1.h、resource2.h)
如何添加的,不太清楚,应该很简单,没具体试验
添加后在vs2003以上的编译器编译出来的程序运行均没有问题,但是在vs6下却会因为资源问题导致程序出现未知错误,是由于资源没有编进程序的原因。
于是考虑在BuildLoad.rc文件里最后加上#include "project1.rc"和#include "project2.rc",这个思路来源于看xtp(xtp里也有非常多的rc文件)源码里的资源文件里的配置。经过vc6编译后运行成功。
但是重新编译vc8,提示资源重复编译不过,必须删除添加的两行#include。
于是考虑用宏定义区分不同情况,先后采用_MSC_VER区分编译器和_BDL_NET_60(我们自己添加的预编译宏),均没有效果,后来在setting – Resources – Preprocessor里添加_BDL_NET_60宏后成功编译,并在60和80下测试成功
后记:xtp里可以直接在rc里添加其它rc的include,但是我们工程里确不行,可能是因为我们工程又同时把rc都添加到工程里有关,而且rc里的注释“non-Microsoft Visual C++ edited resources”,也提示我们不同情况不同资源的处理方法。这后面的具体原因没有继续深究和测试。
本文探讨了在同一工程中使用多个RC文件的方法及其兼容性问题。通过实验发现,在VS2003以上版本中能正常工作,但在VS6中会因资源未编译进程序而导致错误。文章提供了在不同版本的VS中解决该问题的有效方案。
480

被折叠的 条评论
为什么被折叠?



