错误 LNK1104 无法打开文件 'gtest.lib'

error LNK1104 cannot open file 'gtest.lib'

我试图使用 visual studio 2012 安装一个名为 CarlSim 的神经网络工具箱,他们在其中的代码中使用了 gtest。我尝试通过在线下载并使用 gtest.sln 文件构建来安装 gtest。它给了我两个警告。我想这两个警告是这个错误的原因。但我不知道如何解决这个问题。 gtest 好像只能build gtestd.lib。 下面是安装神经网络工具箱时的错误

Error   2   error LNK1104: cannot open file 'gtest.lib' C:\Users\Dukerama\Desktop\CarlSim\carlsim\test\LINK carlsim_tests

下面是gest的警告。

    1>------ Rebuild All started: Project: gtest, Configuration: Debug Win32 ------
1>  gtest-all.cc
1>C:\Program Files(x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppBuild.targets(1299,5):      warning MSB8012: TargetPath(C:\Users\Dukerama\Desktop\gtest\gtest-  1.6.0\msvc\gtest/Debug\gtest.lib) does not match the Library's OutputFile property value (C:\Users\Dukerama\Desktop\gtest\gtest-1.6.0\msvc\gtest\Debug\gtestd.lib). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Lib.OutputFile).
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppBuild.targets(1301,5): warning MSB8012: TargetName(gtest) does not match the Library's OutputFile property value (gtestd). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Lib.OutputFile).
1>  gtest.vcxproj -> C:\Users\Dukerama\Desktop\gtest\gtest-1.6.0\msvc\gtest/Debug\gtest.lib
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========

您发布的 VS 中生成命令的输出表明 gtest(位于 'Configuration Properties -> General' 和 'Configuration Properties -> Librarian -> General')的 VS 项目属性中的某些值之间存在不一致。但是,输出还表明 gtest 库是在以下位置构建的:

C:\Users\Dukerama\Desktop\gtest\gtest-1.6.0\msvc\gtest/Debug\gtest.lib

您应该将此文件放在 CarlSim 工具箱希望找到 gtest 库的目录中。您可以在 CarlSim ('Configuration Properties -> Linker -> General -> AdditionalLibraryDirectories') 的 VS 项目属性中找到它。

P.S。 确保 gtest 和 CarlSim link 到同一个运行时库,否则你会得到更多 linker 错误。您可以在 'Configuration Properties -> C/C++ -> Code Generation -> Runtime Library'.

的 VS 项目属性中检查运行时库

我遇到了同样的问题。 不幸的是,建议的解决方案对我没有帮助。 就我而言,该构建在我的 PC 上运行正常,但在同事的 PC 上出现错误。 我们解决了将项目移动到路径较短的新位置的问题。