微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Windows上将GoogleTestvariablesGTEST_LIBRARY GTEST_INCLUDE_DIR和GTEST_MAIN_LIBRARY设置为CMake?

一个为Linux环境开发的项目。 现在我正试图在使用CMake的Windows上构build它。

我一直试图build立该项目,总是得到这个错误

CMake Error at C:/Program Files(x86)/CMake/share/cmake-3.3/Modules/FindPackageHandleStandardArgs.cmake:148 (message): Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY) Call Stack (most recent call first): C:/Program Files(x86)/CMake/share/cmake-3.3/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE) C:/Program Files(x86)/CMake/share/cmake-3.3/Modules/FindGTest.cmake:204 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) C:/Users/awy9/git/cmake_modules/modules/SigeoGTest.cmake:21 (find_package) C:/Users/awy9/git/cmake_modules/modules/SigeoInit.cmake:29 (include) CMakeLists.txt:12 (include)

我怎样才能设置这些variables现在在Windows上的这个项目上工作?

如何将C ++变体转换为JSON?

如何在linux内核空间获取当前小时(一天中的时间)

GUID的唯一性

如何使Qt Widget填充父窗口小部件?

在Mac OS X上安装第三方C库

从Windows服务获取用户根目录

如何locking并强制用户重新input自己的Windows密码

错误:在我的Makefile中“混合隐式和静态模式规则”

如何使脚本在Linux使用我的interpteter和工作? (#!)

使用MinGW生成在64位系统上编译一个32位的exe文件 – 编译一个32位的exe文件,但链接到64位的dll

UPDATE

@Tsyvarev帮我解决了第一个问题,我引用他的话:

这是标准的CMake消息,当没有找到请求的包(GTest在你的情况下)。 您应该在配置您的项目之前安装GTest。 或者,如果您已经将其安装到非标准位置,请通过GTEST_ROOT变量传递此位置:cmake -DGTEST_ROOT = …

作为cmake传递变量的替代方法,可以设置环境变量:set GTEST_ROOT =

解决了与GTEST_INCLUDE_DIR的值的问题 ,但我仍然有这些错误

CMake错误在C:/ Program Files(x86)/CMake/share/cmake-3.3/modulees/FindPackageH andleStandardArgs.cmake:148(消息):无法找到GTest(缺少:GTEST_LIBRARY GTEST_MAIN_LIBRARY)

我认为,在Windows环境下,一些价值观与手册所说的不同。

编译Gtest后,我得到了两个库:gtest.lib和gtest_main.lib然后,我设置这些文件路径变量:

GTEST_LIBRARY = C: Users awy9 Softwares Gtest gtest-1.7.0 Debug gtest.lib GTEST_MAIN_LIBRARY = C: Users awy9 Softwares Gtest gtest-1.7.0 Debug gtest_main.lib

现在一切正常!

谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐