error LNK2019:无法解析的外部符号 __cdecl std::_String_base::_Xran(void) 和_Xlen(void)

来源:互联网 发布:海贼王启航 淘宝号 编辑:程序博客网 时间:2024/05/16 12:34

error LNK2019:无法解析的外部符号 __cdecl std::_String_base::_Xran(void)  和_Xlen(void)

关于这个问题,试图解决了大约一天,也没有解决,原因是VS2005以及以下版本编译出来的静态库lib里边的内容是旧版本编译的,里边有关String的格式应该都是上边无法解析的那种,而我们如果使用高版本的VS试图打开以前的,除了自动转换一些可以转换的东西,这些静态库是无法转换的,不要试图去在VS高版本中修改,在这里修改,没有任何意义,好了,说一下解决办法吧,也是网上几乎一致的办法:

找到上边那个error对应的静态库lib文件,然后确认它是哪来的,找到当初旧版本编译生成它的那个“旧版本”项目,用VS08或者10打开它(使用提示的自动转换),之后编译,将生成的新的高版本的静态库拷贝到现在出错的这个项目里边把对应的静态库替换就可以了。