Toriyung

导航

“error LNK2005: _XXX已经在xxx.obj中定义”问题

这是因为出现了多个文件同时包含同一个头文件导致的重复定义或声明

如在A.h文件中定义了变量a

在B.cpp和C.cpp文件中都include了A.h,那么就导致重复定义了变量a

如果使用条件编译#ifndef呢?

 没用

因为是两个文件进行include,并不是头文件B.h内包含的头文件C.h还包含了头文件B.h这种情况,所以无效

解决方法:

  定义变量a的位置改为在A.cpp,然后在A.h出进行extern声明

posted on 2023-02-19 11:25  Toriyung  阅读(170)  评论(0编辑  收藏  举报