在以下情况下,我如何找出我哪里出错了?
在我的项目中,我有一个名为“appconstants.h”的头文件。 它包含一个全局变量:
#include <string>
using namespace std;
extern int g_iSpeakerLCID = 1031;
我在项目的一个 cpp 文件中使用了这个头文件。这很好用:
#include "appconstants.h"
现在,当我在同一项目的另一个 cpp 文件中声明相同的头文件时,出现编译错误
"int g_iSpeakerLCID (?g_iSpeakerLCID@@3HA) is already defined in compiler.obj.
这里发生了什么或者我应该检查什么?
最佳答案
不要在 extern
声明中初始化 - 只在定义点初始化。您的 extern
声明应该只是:
extern int g_iSpeakerLCID;
关于c++ - 多次定义符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49609066/