CMake 找不到 SDL2

Posted

技术标签:

【中文标题】CMake 找不到 SDL2【英文标题】:CMake could not find SDL2 【发布时间】:2016-04-14 19:18:24 【问题描述】:

我想将this library 添加到我的项目中。但是,它不附带预编译文件。它要求我用我不熟悉的cmake 自己构建库。它的依赖项之一是 SDL2。所以我下载了 sdl2 开发库文件夹。在 cmake 中,我单击配置并选择生成器。处理几秒钟后,会弹出一个窗口显示错误:Error in configuration process project files may be invalid

这就是日志屏幕显示的内容:

C 编译器标识为 MSVC 18.0.40629.0 CXX 编译器标识为 MSVC 18.0.40629.0 检查工作 C 编译器使用:Visual Studio 12 2013 检查工作 C 编译器 使用:Visual Studio 12 2013 -- 工作 检测 C 编译器 ABI info 检测 C 编译器 ABI 信息 - 完成 检查是否正常工作 CXX 编译器使用:Visual Studio 12 2013 检查工作 CXX 编译器使用:Visual Studio 12 2013 -- 工作 检测 CXX 编译器 ABI 信息 检测 CXX 编译器 ABI 信息 - 完成 检测 CXX 编译特性 检测 CXX 编译特性 - 完成 C:/Program Files 处的 CMake 错误 (x86)/CMake/share/cmake-3.4/Modules/FindPackageHandleStandardArgs.cmake:148 (消息):找不到 SDL2(缺少:SDL2_INCLUDE_DIR SDL2_LIBRARY) 调用堆栈(最近调用优先): C:/程序文件 (x86)/CMake/share/cmake-3.4/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE) cmake/FindSDL2.cmake:18 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) CMakeLists.txt:30 (FIND_PACKAGE)

配置不完整,出现错误! 另见“E:/game dev/libraries/libSDL2pp-master/build/CMakeFiles/CMakeOutput.log”。

谁能告诉我该怎么做?我不确定我在做正确的事。谢谢。

【问题讨论】:

你需要安装 SDL2(你已经安装了)并且你必须告诉 CMake 在哪里寻找它。只需编辑输出中提到的变量 (SDL2_INCLUDE_DIR SDL2_LIBRARY)。 编辑变量是什么意思?能详细解释一下吗? 使用 CMake-Gui,您可以获得变量列表。或者在构建目录中编辑 CMakeCache.txt。 您可以修改 SDL 1.2 模块...***.com/questions/23850472/… 【参考方案1】:

默认情况下,cmake 不附带查找 sdl2 的模块。这很可能是您在 cmake/FindSDL2.cmake 中提供自己的原因。由于您在 Windows 上,很可能您必须设置一个环境变量以指向 sdl2 安装目录(但这实际上取决于您使用的 FindSDL2.cmake)。

【讨论】:

以上是关于CMake 找不到 SDL2的主要内容,如果未能解决你的问题,请参考以下文章

将 SDL2 与 CMake 一起使用

Xcode:可执行文件找不到 SDL2.framework

在 linux 上找不到 SDL2_gfx 库

在netbeans中运行makefile时找不到sdl2-config可执行文件

CMake 看不到 SDL2_PATH 环境变量(Windows)

QtCreator 找不到 cmake