同一个工程下采用多个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”,也提示我们不同情况不同资源的处理方法。这后面的具体原因没有继续深究和测试。