jco*_*jco 1 googletest visual-studio-2010 googlemock
有没有人在Visual Studio 2010中成功构建gmock和gtest?我已尝试使用1.5.0版,但我只能得到难以理解的编译错误.
我在谷歌小组中找到了关于在VS2010下构建gmock-1.5.0时发现的问题的这个帖子.在线程之后,我创建了一个简短的自述文件,对我有用,所以这里是:
根据线程对源进行以下更改:
在项目gmock - >私有头文件 - > gmock-internal-utils.h:
char Helper(To);
static char (&Helper(...))[2]; // NOLINT
#ifdef..#endif部分:static const bool value = std::is_convertible<From, To>::value;
在项目gmock_test - >源文件 - > gmock-printers_test.cc,第848行:执行显式转换的NULL参数void*,否则VS会自动认为它是一个null int.结果行应如下所示:
t10(false, 'a', 3, 4, 5, 1.5F, -2.5, str, static_cast<void*>(NULL), "10");
希望这可以帮助,
波阿斯
步骤5中的VS2010编译器警告(参见结尾处的备注):
警告1警告C4996:'std :: _ Copy_impl':带有可能不安全的参数的函数调用 - 此调用依赖于调用者来检查传递的值是否正确.要禁用此警告,请使用-D_SCL_SECURE_NO_WARNINGS.请参阅有关如何使用Visual C++'Checked Iterators'的文档:C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\VC\include\xutility 2227 1
警告2警告C4996:'std :: _ Copy_impl':带有可能不安全的参数的函数调用 - 此调用依赖于调用者来检查传递的值是否正确.要禁用此警告,请使用-D_SCL_SECURE_NO_WARNINGS.请参阅有关如何使用Visual C++'Checked Iterators'的文档:C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\VC\include\xutility 2227 1
警告4警告C4413:'std :: tr1 :: _ Cons_node <_ Car,_Cdr> :: _ Value':引用成员初始化为一个在构造函数退出C:\ Program Files(x86)\ Microsoft Visual后不会保留的临时成员Studio 10.0\VC\include\tuple 137 1
警告3警告C4373:'testing :: gmock_generated_function_mockers_test :: MockFoo :: TakesConst':虚函数覆盖'testing :: gmock_generated_function_mockers_test :: FooInterface :: TakesConst',当参数仅与const/volatile不同时,编译器的先前版本没有覆盖限定符C:\ Libs\gmock-1.5.0\test\gmock-generated-function-mockers_test.cc 133 1
关于警告的评论: