更改编码后,项目不会生成

时间:2015-07-19 22:46:50

标签: c++ visual-studio encoding

所以,我正在处理我的项目,当突然视觉工作室警告我,我的行结束不一致。然后它询问我是否要重新编码项目中的文件。我点击了并选择了" unicode"选项。

之后我再也无法构建我的项目了,它给出的错误非常抽象。

它基本上表示有3个未解析的符号,代码为LNK2019

我真的迷失了,因为我没有改变会导致崩溃的代码。我也非常快速地完成了这个消息,所以我无法阅读它。

在项目属性中,字符集为Use Unicode Character Set。 此外,语言扩展选项也未被禁用。

Error   1   error LNK2019: unresolved external symbol "public: __thiscall lh::Heightmap::Heightmap(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int,int,int)" (??0Heightmap@lh@@QAE@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@HHH@Z) referenced in function "public: __thiscall Teste::Teste(int,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,float)" (??0Teste@@QAE@HHV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@M@Z) C:\Users\Leonardo\documents\visual studio 2013\Projects\lhengine\lhengine\teste.obj lhengine
Error   2   error LNK2019: unresolved external symbol "public: __thiscall lh::Heightmap::~Heightmap(void)" (??1Heightmap@lh@@QAE@XZ) referenced in function __unwindfunclet$??0Teste@@QAE@HHV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@M@Z$7 C:\Users\Leonardo\documents\visual studio 2013\Projects\lhengine\lhengine\teste.obj lhengine
Error   3   error LNK2019: unresolved external symbol "public: void __thiscall lh::Heightmap::draw(void)" (?draw@Heightmap@lh@@QAEXXZ) referenced in function "private: virtual void __thiscall Teste::render(void)" (?render@Teste@@EAEXXZ)    C:\Users\Leonardo\documents\visual studio 2013\Projects\lhengine\lhengine\teste.obj lhengine
Error   4   error LNK1120: 3 unresolved externals   C:\Users\Leonardo\documents\visual studio 2013\Projects\lhengine\Debug\lhengine.exe lhengine

根据我的理解,它抱怨std :: string和char的东西,但我不知道该怎么做。我保存了文件,现在它也向我显示了这个警告:

warning C4067: unexpected tokens following preprocessor directive - expected a newline  c:\users\leonardo\documents\visual studio 2013\projects\lhengine\lhengine\heightmap.cpp 1   1   lhengine

1 个答案:

答案 0 :(得分:1)

我设法发现了错误。基本上,visual studio使用UTF8编码保存文件,但行结尾为Unicode Line Separator (LS)

由于某些原因,VS无法识别此行结束。为了让它再次工作,我保存了文件。行结束Save File as... >> Save with encoding...的{​​{1}}。