写好测试程序后编译工程,结果出现了很多“无法解析的外部符号”类型的错误。但是lib都已经添加了呀?!
错误原因: 编译测试程序时,项目属性/C++/代码生成/选项中,C++的运行库设置与编译gtest库时的运行库设置不同。
在编译gtest库时项目设置中运行库设置成了“多线程调试(/MTd)”,而VS2008默认项目设置是“多线程调试 DLL (/MDd)”,导致很多函数符号无法解析。
解决:修改运行库设置,运行库必须与生成gtest.lib的运行库设置相同。
PS: 之前编译毕设程序总是通不过 估计也是这个原因。。
//*********************************
使用第三方的库容易造成LNK2005错误――重复定义错误,一般是第三方库的链接方式与现工程不一致造成的,如第三方库采用静态链接,而现工程采用动态链接,或者第三方库用单线程,而现工程采用多线程都会引发此错误。
vc link2005 error etc...
最新推荐文章于 2024-09-20 09:00:38 发布