C++ 在visual studio 2019上设置gmock的问题
我正在尝试在VisualStudio2019上设置gmock。 在这里,我用源代码(Gmock_项目)将我的项目配置为一个静态库。我已经将运行库制作成多线程DLL(/MD)。我也没有使用任何预编译头。 然后,对于单元测试项目,我已经完成了以下属性 1) 从Google测试模板(Gmock_示例)创建了一个新项目 2) 安装了来自Google的最新gmock NuGet软件包(目前为v1.10.0) 3) 将文件gtest_main.cc添加到项目中 4) 我已经禁用了gtest_main.cc、gmock-all.cc和gtest-all.cc的预编译头 5) 我已经在测试项目中添加了Gmock_项目的引用 6) 我已经在VC++目录->包含目录中包含了Gmock_项目的路径 7) 我已将运行时库设置为多线程DLL(/MD) 8) 我已经在Linker->General->Additional Library目录中添加了Gmock_project.lib的路径 9) 我已经在Linker->Input->Additional Dependencies中包含了Gmock_project.lib 每当我构建Gmock_样本,即测试项目时,我都会遇到错误C++ 在visual studio 2019上设置gmock的问题,c++,visual-studio-2019,googlemock,C++,Visual Studio 2019,Googlemock,我正在尝试在VisualStudio2019上设置gmock。 在这里,我用源代码(Gmock_项目)将我的项目配置为一个静态库。我已经将运行库制作成多线程DLL(/MD)。我也没有使用任何预编译头。 然后,对于单元测试项目,我已经完成了以下属性 1) 从Google测试模板(Gmock_示例)创建了一个新项目 2) 安装了来自Google的最新gmock NuGet软件包(目前为v1.10.0) 3) 将文件gtest_main.cc添加到项目中 4) 我已经禁用了gtest_main.cc
2>test.obj:错误LNK2005:main已在gtest_main.obj中定义
2> E:\GMock\GMock\u Sample\GMock\u Sample\x64\Release\GMock\u Sample.exe:致命错误LNK1169:找到一个或多个多重定义符号
2> 完成构建项目“Gmock_Sample.vcxproj”--失败。
=========全部重建:1成功,1失败,0跳过==========
配置中会出现什么问题?我今天通过使用googletest存储库为Windows进行CMAKE构建,然后将静态.lib文件和头添加到我的项目中,解决了这个问题 以下是步骤: 1.克隆谷歌测试库-> 2.下载适用于Windows的CMAKE。-> 3.安装CMAKE,不要忘记创建系统变量,以便从CMD调用它 4.转到克隆存储库文件夹 5.创建一个名为“build”的文件夹 6.在您的解决方案应用程序中创建一个名为“googletest package”->的文件夹.lib文件和标题将在此处导出
我希望这会有所帮助,虽然有点长,但我认为它可以自动化。我想你在从谷歌安装Microsoft googletest软件包之前删除了该软件包?另外,我不认为8)和9)是必要的。我如何删除Microsoft googletest软件包?因为Microsoft.googletest.v140.windesktop.msvcstl.static.rt-static包基于您在另一篇文章中的回答,我在visual studio中没有看到。每当我创建google测试模板时,我只看到创建了Microsoft.googletest.v140.windesktop.msvcstl.static.rt-dyn包。是的,在上面的1)中,您正在从google测试模板创建一个新项目。如果不删除其静态nuget包,将出现链接错误。因此,在从Google安装gmock nuget包之前,我应该先删除Microsoft.googletest.v140.windesktop.msvcstl.static.rt-dyn包。我已尝试了这两种方法在visual studio中配置gmock。但是,当我链接代码时,我得到了与前面提到的相同的错误,尽管我已经删除了Microsoft.googletest.v140.windesktop.msvcstl.static.rt-dyn包。那么,如何将源代码链接到测试项目呢。