我是靠谱客的博主 勤恳香烟,这篇文章主要介绍vc6.0 lnk 2005连接错误处理,现在分享给大家,希望可以做个参考。

error LNK2005: “***”already defined in XXX.obj【解决】

今天花了很长时间找了一个错误,【在类的头文件中不能#include包含全局变量的*.h文件】!~

编写代码时,没有注意,将包含全局变量的#include "MyGlobalSetting.h",结果出现了一堆LNK2005的链接错误。例如:
error LNK2005: "char * g_szFeaFileDir" () already defined in XXX.obj
的链接错误。

开始还以为是VC环境配置错了呢,汗啊!忙活了好一会!~

当将#include "MyHaarGlobalSetting.h"包含在“*.cpp”中时,就可以正常通过!

===============================================================================

上一次草草的下了总结:在类的头文件中不能#include【包含全局变量的*.h文件】!~

那个总结是错误的!!!
实质上是因为我在全局变量所在的头文件中定义的那个字符串为一般的全局变量,而非“常量”,
因此便出现了编译性的错误,当把变量szFeaFileDir由char g_szTXTListDir[] = "C:\FaceTest\";
改成const char g_szTXTListDir[] = "C:\FaceTest\";,在任何地方#include这个头文件都不会出错了!~

 

最后

以上就是勤恳香烟最近收集整理的关于vc6.0 lnk 2005连接错误处理的全部内容,更多相关vc6.0内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(117)

评论列表共有 0 条评论

立即
投稿
返回
顶部