我正在尝试使用亨特软件包管理器来包含SDL2。
hunter_add_package(sdl2)
find_package(SDL2 CONFIG REQUIRED)包被下载了,但是还没有定义包含dir,所以这没有任何作用。
include_directories(${SDL2_INCLUDE_DIR})如果试图包含SDL,编译就失败了。
如果我手动安装SDL2,fx使用brew安装sdl2,并手动设置包含路径和链接库,一切都正常。但是我希望它能使用包管理器。
做蛋糕的。命令确实显示了以下内容,但不确定它是否相关:
-- [hunter] SDL2_ROOT: /Users/martin/.hunter/_Base/9b96c37/6b5f9d6/aceec4e/Install (ver.: 2.0.7-p3)
CMake Warning (dev) at CMakeLists.txt:24 (find_package):
Policy CMP0074 is not set: find_package uses <PackageName>_ROOT variables.
Run "cmake --help-policy CMP0074" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
CMake variable SDL2_ROOT is set to:
/Users/martin/.hunter/_Base/9b96c37/6b5f9d6/aceec4e/Install
Environment variable SDL2_ROOT is set to:
/Users/martin/.hunter/_Base/9b96c37/6b5f9d6/aceec4e/Install
For compatibility, CMake is ignoring the variable.
This warning is for project developers. Use -Wno-dev to suppress it.使用cmake。-Wno-dev确实使警告无效,但仍然没有找到包含的内容。
任何暗示都很感激。
发布于 2020-08-10 08:44:06
是的,这个警告是非常相关的。应该将CMP0074策略设置为新行为:
cmake_policy(SET CMP0074 NEW)这将使它遵守SDL_ROOT变量提供的设置。
https://stackoverflow.com/questions/63336211
复制相似问题