昨天下午将全局变量定义在H文件中导致链接时提示变量在多个obj文件内重复。
解决办法如下:
将变量移入C文件中进行定义,然后在H文件中加入extern在变量之前。
这样当其它C文件引用该全局变量时就会去链接这个变量符号而不是重新生成。
另附防止H文件被重复包含的处理方法:
#ifndef _H文件名_H_
#define_H文件名_H_
//H文件内容
#endif
本文介绍了一个在C/C++开发中遇到的常见问题——全局变量在多个obj文件内重复定义导致的链接错误,并提供了一种简单有效的解决方法。通过将全局变量移入C文件进行定义,并在H文件中使用extern关键字,可以避免重复定义的问题,确保程序的正确编译和链接。
昨天下午将全局变量定义在H文件中导致链接时提示变量在多个obj文件内重复。
解决办法如下:
将变量移入C文件中进行定义,然后在H文件中加入extern在变量之前。
这样当其它C文件引用该全局变量时就会去链接这个变量符号而不是重新生成。
另附防止H文件被重复包含的处理方法:
#ifndef _H文件名_H_
#define_H文件名_H_
//H文件内容
#endif

被折叠的 条评论
为什么被折叠?