繁体   English   中英

Google测试预建VS 2013

[英]Google Test pre-build VS 2013

我有一个使用编译器VS2008编译的解决方案。 运行得很完美。 它已通过Google Test进行检测,并且Google Test库链接到该解决方案。 据我所知, gtest.lib应该使用与解决方案本身相同的编译器进行编译。

现在,我必须使用VS2013编译相同的解决方案。 我收到此编译错误

Error   3   error LNK2038: mismatch detected for '_MSC_VER': 
value '1700' doesn't match value '1800'  

我认为我应该使用Visual Studio 2013编译Google Test的库。

我找不到这样的东西。 您能给我一个关于我应该去的Google Test库的提示吗?

您收到的链接器错误非常明显:您需要使用gtest.lib编译的gtest.lib。

“我认为我应该获得使用Visual Studio 2013编译的Google Test库。”

就是这样

您能给我一个我应该去的Google Test库的提示吗?

好吧,没有更多的引用谷歌测试入门文档 (强调我的),对不起(我怀疑您可以在其他地方可靠地下载适当的二进制文件):

设置新的测试项目

要使用Google Test编写测试程序,您需要将Google Test编译成一个库并将其链接到您的测试。 我们为一些流行的构建系统提供了构建文件:msvc /( 适用于Visual Studio) ,xcode /(适用于Mac Xcode),make /(适用于GNU make),codegear /(适用于Borland C ++ Builder)以及autotools脚本(不建议使用) 和CMakeLists.txt(适用于CMake) (推荐) )在Google测试的根目录中。 如果您的构建系统不在此列表中,则可以查看make / Makefile以了解应如何编译Google Test(基本上,您想在标头搜索中使用GTEST_ROOT和GTEST_ROOT / include编译src / gtest-all.cc路径,其中GTEST_ROOT是Google Test的根目录)。

一旦能够编译Google Test库,就应该为测试程序创建一个项目或构建目标。 确保标头搜索路径中包含GTEST_ROOT / include,以便编译器在编译测试时可以找到“ gtest / gtest.h”。 设置您的测试项目以与Google Test库链接(例如,在Visual Studio中,这是通过添加对gtest.vcproj的依赖来完成的)。

如果仍有疑问,请查看Google Test自己的测试是如何构建的,并以它们为例。

我个人更喜欢使用src/gtest-all.cc构建测试src/gtest-all.cc ,并与源中的测试项目链接。 那是最简单,最可移植的恕我直言的方式(例如使用您的自定义GNU makefile)。

如您对OP的评论中所述,您可以仅使用VS2013编译器轻松地进行“预构建” ,以将其与其他项目链接。

请注意, NuGet上有一个本地GTEST软件包,其中包含gtest.lib 具有使gtest include文件夹自动可用的其他好处。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM