如何编译和绑定测试 google 在项目中 C++ 在 Visual Studio 2013, 但是 Gtest, 安装包管理器 NuGet?
我有 Microsoft Visual Studio 2013 Community Edition 在 Windows 7.
我想安装 gtest 和 gmock 为了 C++ 比下载标题和二进制文件或编译更新的方式。
我找到了工具 > Nuget Package Manager > 包装管理 Nugets 对于解决方案
我选择在线,然后得分 gtest. 从我找到的搜索结果 Google Test, 因此,我为您的当前项目安装了它。
安装后,下面的代码已编译:
但它并不关联:
错误 1 错误 LNK2019: 未解决的外部符号 "bool _ _ cdecl
testing::internal::IsTrue/bool/ "/?IsTrue@internal@testing@@YA_N_N@Z/
链接到功能" public: void _ _ thiscall
testing::internal::scoped_ptr, 班级 std::allocator > >:: 重置 /班级
std::basic_string, 班级
std::allocator > */"
/?reset@?$scoped_ptr@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@internal@testing@@QAEXPAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z/ c:\Users\Grzegorz\documents\visual
工作室 2013\Projects\tmp\tmp\Source.obj TMP.
所以我打开了:项目属性>配置属性>加载程序>输入
并补充说:
gtest.lib
但是,不幸的是,我看:
错误 1 错误 LNK1104: 无法打开文件
'gtest.lib' c:\Users\Grzegorz\documents\visual 工作室
2013\Projects\tmp\tmp\LINK TMP.
当我添加文件的完整路径时 /我知道一个人不应该/ , 出现奇怪的错误:
错误 2 错误 LNK2005: "public: _ _ thiscall
std::_Container_base12::_Container_base12/微不足道/"
/??0_Container_base12@std@@QAE@XZ/ 已经定义了
gtestd.lib/gtest-all.obj/ c:\Users\Grzegorz\documents\visual 工作室
2013\Projects\tmp\tmp\msvcprtd.lib/MSVCP120D.dll/ TMP.
所以,我的问题是
如何编译和绑定测试 google 在项目中 C++ 在项目中 Visual Studio 2013, 但是 Gtest, 安装包管理器 NuGet?
</gtest\gtest.h></iostream>
我想安装 gtest 和 gmock 为了 C++ 比下载标题和二进制文件或编译更新的方式。
我找到了工具 > Nuget Package Manager > 包装管理 Nugets 对于解决方案
我选择在线,然后得分 gtest. 从我找到的搜索结果 Google Test, 因此,我为您的当前项目安装了它。
安装后,下面的代码已编译:
#include <iostream>
#include <gtest\gtest.h>
using namespace std;
using namespace ::testing;
int factorian/int n/
{
if /n == 0 || n == 1/
return 1;
else
return n*factorian/n - 1/;
}
TEST/factorianTest, simpleTest/
{
ASSERT_EQ/1, factorian/0//;
ASSERT_EQ/1, factorian/1//;
ASSERT_EQ/2, factorian/2//;
}
int main/int argc, char* argv[]/
{
InitGoogleTest/&argc, argv/;
return RUN_ALL_TESTS//;
}
但它并不关联:
错误 1 错误 LNK2019: 未解决的外部符号 "bool _ _ cdecl
testing::internal::IsTrue/bool/ "/?IsTrue@internal@testing@@YA_N_N@Z/
链接到功能" public: void _ _ thiscall
testing::internal::scoped_ptr, 班级 std::allocator > >:: 重置 /班级
std::basic_string, 班级
std::allocator > */"
/?reset@?$scoped_ptr@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@internal@testing@@QAEXPAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z/ c:\Users\Grzegorz\documents\visual
工作室 2013\Projects\tmp\tmp\Source.obj TMP.
所以我打开了:项目属性>配置属性>加载程序>输入
并补充说:
gtest.lib
但是,不幸的是,我看:
错误 1 错误 LNK1104: 无法打开文件
'gtest.lib' c:\Users\Grzegorz\documents\visual 工作室
2013\Projects\tmp\tmp\LINK TMP.
当我添加文件的完整路径时 /我知道一个人不应该/ , 出现奇怪的错误:
错误 2 错误 LNK2005: "public: _ _ thiscall
std::_Container_base12::_Container_base12/微不足道/"
/??0_Container_base12@std@@QAE@XZ/ 已经定义了
gtestd.lib/gtest-all.obj/ c:\Users\Grzegorz\documents\visual 工作室
2013\Projects\tmp\tmp\msvcprtd.lib/MSVCP120D.dll/ TMP.
所以,我的问题是
如何编译和绑定测试 google 在项目中 C++ 在项目中 Visual Studio 2013, 但是 Gtest, 安装包管理器 NuGet?
</gtest\gtest.h></iostream>
没有找到相关结果
已邀请:
2 个回复
卫东
赞同来自:
并不添加 gtest.lib 手动。
窦买办
赞同来自:
当我得分时 gtest 在包管理器中 nugets 要查找一个包,我发现了多个包:
测试 Google
FIX8 GTest 依赖性的象征
Fix8 GTest 依赖
所以我也安装了
依赖
FIX8 GTest . 并消失了绑定错误。