比较来自世界各地的卖家的域名和 IT 服务价格

如何编译和绑定测试 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, 因此,我为您的当前项目安装了它。
安装后,下面的代码已编译:


#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/&amp;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 &gt; &gt;:: 重置 /班级
std::basic_string, 班级
std::allocator &gt; */"
/?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.

所以我打开了:项目属性&gt;配置属性&gt;加载程序&gt;输入
并补充说:
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>
已邀请:

卫东

赞同来自:

包裹 Google Test NuGet 包含以前创建的静态布局库,但程序包布局参数的默认初始化程序是 "dynamic".


Project properties 
-> Configuration properties
-> Referenced packages
-> gtest
-> Linkage: set to "Static"


并不添加 gtest.lib 手动。

窦买办

赞同来自:

我找到了一个解决方案:
当我得分时 gtest 在包管理器中 nugets 要查找一个包,我发现了多个包:

测试 Google

FIX8 GTest 依赖性的象征

Fix8 GTest 依赖

所以我也安装了

依赖

FIX8 GTest . 并消失了绑定错误。

要回复问题请先登录注册