首页 > 其他分享 >“error LNK2005: _XXX已经在xxx.obj中定义”问题

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

时间:2023-02-19 11:34:11浏览次数:37  
标签:文件 XXX 头文件 定义 xxx LNK2005 cpp 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声明

标签:文件,XXX,头文件,定义,xxx,LNK2005,cpp,obj
From: https://www.cnblogs.com/toriyung/p/17134428.html

相关文章