【问题标题】:CMake could not find SDL2CMake 找不到 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 模块...stackoverflow.com/questions/23850472/…

标签: cmake sdl-2


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    • 2021-05-19
    • 2022-08-03
    • 1970-01-01
    • 2016-01-19
    • 1970-01-01
    相关资源
    最近更新 更多