如果我理解正确,您的cmake配置无法找到SDL库。我发现它更好用
find_package
命令而不是
pkg_check_modules
.
为了
find_package(SDL2)
要工作,必须有
FindSDL2.cmake
目录中的模块,由指定
CMAKE_MODULE_PATH
变量(通常是
cmake/Modules
源树中的目录)。
查找SDL2.cmake
不是CMake的一部分,但您可以在网上轻松找到一个(查看我自己的模块,例如:
https://github.com/dragn/cmake-modules
).
有关详细信息,请参阅本文档:
https://cmake.org/Wiki/CMake:How_To_Find_Libraries
.
放
查找SDL2.cmake
到
cmake/模块
目录并将其添加到
CMakeLists.txt
:
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake/Modules)
find_package(SDL2 REQUIRED)
include_directories(${SDL2_INCLUDE_DIR})
...
target_link_libraries(${PROJECT_NAME} ${SDL2_LIBRARY})
注:可悲的是,莱昂纳多似乎没有成功地在SDL社区找到维护FindSDL2.cmake的志愿者:
https://cmake.org/Bug/view.php?id=14826
.