我正在尝试使用visual studio 2012安装名为CarlSim的神经网络工具箱,他们在代码中使用gtest。我尝试通过在线下载并使用gtest.sln文件构建来安装gtest。它给了我两个警告。我想这两个警告是造成这个错误的原因。但我不知道如何解决这个问题。 gtest似乎只能构建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 ==========
答案 0 :(得分:0)
您发布的VS中的构建命令输出表明,gtest
的VS项目属性中的某些值之间存在不一致(位于'配置属性 - >常规'并且在&#中39;配置属性 - >图书馆员 - >一般')。但是,输出还表明gtest
库是在位置构建的:
C:\Users\Dukerama\Desktop\gtest\gtest-1.6.0\msvc\gtest/Debug\gtest.lib
您应该将此文件放在CarlSim工具箱期望找到gtest
库的目录中。您可以在CarlSim的VS项目属性中找到它('配置属性 - >链接器 - >常规 - > AdditionalLibraryDirectories')。
P.S。
确保gtest
和CarlSim都链接到同一个运行时库,否则会出现更多的链接器错误。您可以在'配置属性 - >中检查VS项目属性中的运行时库。 C / C ++ - >代码生成 - >运行时库'。
答案 1 :(得分:0)
我遇到了同样的问题。 不幸的是,提议的解决方案对我没有帮助。 就我而言,该构建在我的 PC 上正常运行,但在同事的 PC 上出现错误。 我们解决了将项目移动到路径较短的新位置的问题。