我以前从未使用过 CMake,但我正在尝试一个不支持任何其他构建系统的 IDE (CLion),所以我尝试了一下。在每次构建开始时,我都会收到以下警告:
/cygdrive/c/Users/admin/.clion10/system/cygwin_cmake/share/cmake-3.1.2/Modules/Platform/CYGWIN.cmake 中的 CMake 警告:15(消息):CMake 不再在 Cygwin 上定义 WIN32!
(1) 如果您只是尝试构建此项目,请忽略此警告或通过在您的环境或 CMake 缓存中设置 CMAKE_LEGACY_CYGWIN_WIN32=0 将其静音。如果以后出现配置或构建错误,那么这个项目可能是在 Cygwin 是 WIN32 的假设下编写的。在这种情况下,请改为设置 CMAKE_LEGACY_CYGWIN_WIN32=1。
(2) 如果你正在开发这个项目,添加这行
Run Code Online (Sandbox Code Playgroud)set(CMAKE_LEGACY_CYGWIN_WIN32 0) # Remove when CMake >= 2.8.4 is required在顶级 CMakeLists.txt 文件的顶部,或将所需的最低 CMake 版本设置为 2.8.4 或更高版本。然后教你的项目在没有 WIN32 的情况下在 Cygwin 上构建
我已经尝试了两种建议的解决方案。这是我的 CMakeLists.txt 文件的前两行:
cmake_minimum_required(VERSION 3.1)
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
Run Code Online (Sandbox Code Playgroud)
但我仍然收到警告。我该如何摆脱它?
根据 CMake 邮件列表中的 Nils Gladitz(他在 SO 上吗?):
发出警告的代码由“project()”运行。由于您在顶级 CMakeLists.txt 中没有显式的 project() 调用,因此 CMake 会在顶部隐式地添加一个。[1]
在要求 CMake >= 2.8.4 后显式调用 project() 的项目文件应该使警告消失:
cmake_minimum_required(VERSION 2.8.8)
project(Foo)
它似乎有效。
| 归档时间: |
|
| 查看次数: |
5124 次 |
| 最近记录: |