我有在 g++ 上重现的问题。VC++ 没有遇到任何问题。所以我有2个cpp文件:
1.cpp:
#include <string>
#include <iostream>
extern const std::string QWERTY;
int main()
{
std::cout << QWERTY.c_str() << std::endl;
}
2.cpp:
#include <string>
const std::string QWERTY("qwerty");
没有魔法,我只想将字符串常量放入单独的文件中。在链接时 ld 产生一个错误:“未定义的对 `_QWERTY' 的引用” 第一个想到将两个声明包装到“extern“C””中 - 没有帮助。错误和非 c++ _QWERTY 仍然存在。
在此先感谢您的任何建议