- 出现如下错误:
error LNK2001: unresolved external symbol "public: virtual bool __thiscall wxApp::Initialize(int &,wchar_t * *)" (?Initialize@wxApp@@UAE_NAAHPAPA_W@Z) wxTest.obj
但是工程的编译和链接完全没有问题的话,这个时候需要检查一下工程的general设置,看看character set的内容和链接的库是不是对的上。比如说链接的库是用no char set,但是编译的工程用的是unicode,这个时候就会由于产生在目标文件里面的符号表的编码不一致,从而导致在链接期间找不到对应的symbol。(不知道gcc会不会有这样的问题……)
- 编译的时候,出现:error C2220: warning treated as error - no object file generated 的错误。MS的相关解释:http://msdn.microsoft.com/en-us/library/ksk5k0ta.aspx。这个错误的原因是因为编译的警告级别设置太高,所以VS会把warning当做是error来处理。在工程设置里面的C/C++ -> general里面的Treat warnings as errors: 可以将它设置成不同的级别。一般解决方法可以是:
- 将warning level降低一些。
- 在源代码里面加上WARINGLEVEL的宏,手动设置这个文件的warning level。
- (推荐)查看这个error出现的对应warning是什么,一般会在这个error出现的下面显示,然后相应的解决对应的warning就可以。这个是从本质上解决问题的方案。
VS里各种链接相关问题和解决方法
最新推荐文章于 2021-06-16 16:50:08 发布