我在命名空间中定义的两个变量有一个未解决的外部符号错误。这是我在标题和源文件中定义和声明变量的代码。
头文件
#include "States.h"
namespace acro {
namespace states {
extern States_t feedback;
extern States_t down;
}
}
源文件
namespace acro {
namespace states {
States_t feedback;
States_t down;
}
}
在我的主文件中,我称之为。
printf("Iteration: %lld\n", acro::states::feedback.i);
但是我收到了这个错误。
Error LNK2001 unresolved external symbol "class States_t acro::states::feedback" (?feedback@states@acro@@3VStates_t@@A) simple_acrophobe C:\Users\...\main.obj
States_t是在“Stated.h”中定义的类和“States.cpp”文件,我知道它可以工作并且正确地包含在项目中。我通过在main函数中声明一个对象来测试它。 我很确定我已经正确地包含了我的头文件和源文件。我使用Visual Studio UI创建了它们。除了标题保护和文档注释之外,这些文件中没有其他内容。
我对这里可能出现的问题已经没有了想法。