VS2017 错误 LNK2005

前提:在使用MFC编程时,使用到了大量的.h 和.cpp文件

报错:

错误    LNK2005    "char const * * StateString" (?StateString@@3PAPBDA) 已经在 CDprocess.obj 中定义

 原因:在多个文件中,引用了包含全局变量的头文件。

解决:1.不引用该头文件;

           2.采用宏定义,宏定义是用来避免重复包含的,比如多个文件有重叠包含关系。有全局变量的头文件只被主程序包含,其他文件中用extern。

原创文章 43 获赞 63 访问量 3万+

猜你喜欢

转载自blog.csdn.net/kinnisoy/article/details/103462730