编程环境:vc 6.0
近几天来,在写一个工程,用到了第三方的库文件xml文件
一般,我们都会直接把第三方文件添加到工程中,这样编译之后,就可以用了
不过,用了第三方文件,导致,vc在显示类的时候,添加了很多不必要的显示,
例如:你直接把文件添加到工程中,类视图里面,就会解析出很多第三方的
库函数,这样在编程的过程中,让我十分苦恼,后来,才发现可以直接
这样
#include <good.cpp>
这样可以解决,一般,这样的话是可以解决,但是我放到我的工程里面,就悲剧了
导致各种错误
UI.obj : error LNK2005: "void * __cdecl pugi::impl::default_allocate(unsigned int)" (?default_allocate@impl@pugi@@YAPAXI@Z) already defined in FSolft.obj
UI.obj : error LNK2005: "void __cdecl pugi::impl::default_deallocate(void *)" (?default_deallocate@impl@pugi@@YAXPAX@Z) already defined in FSolft.obj
UI.obj : error LNK2005: "unsigned int __cdecl pugi::impl::strlength(char const *)" (?strlength@impl@pugi@@YAIPBD@Z) already defined in FSolft.obj
UI.obj : error LNK2005: "bool __cdecl pugi::impl::strequal(char const *,char const *)" (?strequal@impl@pugi@@YA_NPBD0@Z) already defined in FSolft.obj
例如上面这种,出现了 1000+个错误,让我直接悲剧了。。。。后来。。。。经过摸索了一下
解决方案如下,把hpp包含在某个工程的头文件中,把
cpp文件包含在实现文件中,这样就可以解决了。
例如:
比如你新建了一个工程,有一个 main.h 和main.cpp
我们需要使用 good.hpp 和 good.cpp
那么,我们可以在main.h中,添加#include "good.hpp"
在main.cpp中,添加#include "good.cpp"
这样,第三方库函数就不会显示了。这样编程起来也很顺心