如何在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

现在一切正常!

谢谢

相关文章

引言 本文从Linux小白的视角, 在CentOS 7.x服务器上搭建一个...
引言: 多线程编程/异步编程非常复杂,有很多概念和工具需要...
一. 宏观概念 ASP.NET Core Middleware是在应用程序处理管道...
背景 在.Net和C#中运行异步代码相当简单,因为我们有时候需要...
HTTP基本认证 在HTTP中,HTTP基本认证(Basic Authenticatio...
1.Linq 执行多列排序 OrderBy的意义是按照指定顺序排序,连续...