使用静态库的时候遇到的两个报错

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

以上是关于使用静态库的时候遇到的两个报错的主要内容,如果未能解决你的问题,请参考以下文章

swift-bridge时遇到的一些小坑记录

编译静态库遇到的 LNK2019 报错

iOS-静态库的创建与使用

打静态库所出现的问题以及解决方法

iOS静态库引用

编译依赖ndt_gpu库的包,遇到Eigen报错