我有在g ++上重现的问题。 VC++不会遇到任何问题。 所以我有2个cpp文件:g ++外部参考错误
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仍然存在。
在此先感谢您的任何建议
不幸的是我必须确保值是不可变的。所以const是强制修饰符。 – Dewfy 2009-09-10 10:34:29