使用静态库的时候遇到的两个报错
Posted 雷乌斯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用静态库的时候遇到的两个报错相关的知识,希望对你有一定的参考价值。
error LNK2019: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)........
新项目在VS2013上,但是我把VS2008的老工程搬过来了,包括从08版本生成的很多静态库的lib(libprotobuf.lib之类的)。
于是报了这个错。
于是重新找到这些类库的源码重新build出lib,报错解决。
error lnk2038: mismatch detected for 'runtimelibrary': value 'mdd_dynamicdebug' doesn't match value 'MTd_StaticDebug' in xxx.obj
各个工程以及引用的静态库lib所属的工程的Runtime Library不同。在项目属性中修改成一样的,报错解决
------------------------------------------------------------------
使用静态库:
1、包含头文件,把所在的路径加入到C/C++ -> General -> Additional Include Dirs
2、包含lib文件,把所在的路径加入到Linker ->General -> Additional Library Dirs
3、指定lib文件,把使用的lib文件文件名加入到Linker-> Input -> Additional Dependencies
以上是关于使用静态库的时候遇到的两个报错的主要内容,如果未能解决你的问题,请参考以下文章