为 clion 配置 SFML(Windows)

新手上路,请多包涵

我正在我的 Windows 计算机上为学校项目设置工作环境。我们将使用 c++ 和 CLion 制作一个基本游戏。要制作游戏,我需要使用 SFML 库。我已经遵循了一些教程,但无论如何我似乎无法让它工作。

我有:

  • 下载 CLion 并使用 MinGW 进行配置
  • 下载 SFML 并将其“findSFML.cmake”文件复制到我的项目中的一个新目录,我称之为 cmake_modules。
  • 编辑了我的 CMakeLists.txt 文件,如下所示:
>  cmake_minimum_required(VERSION 3.6)
> project(testet)
>
> set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
> set(SOURCE_FILES main.cpp)
>
> add_executable(testet ${SOURCE_FILES})
> set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake_modules")
> find_package(SFML REQUIRED system window graphics network audio)
> if (SFML_FOUND)
>     include_directories(${SFML_INCLUDE_DIR})
>     target_link_libraries(testet ${SFML_LIBRARIES})
> endif()
>
> ```

这是我在每个教程/答案中看到的三个步骤。但无论如何我都会收到以下错误:

“C:\Program Files (x86)\JetBrains\CLion 2016.3\bin\cmake\bin\cmake.exe” -DCMAKE_BUILD_TYPE=Debug -G “CodeBlocks - MinGW Makefiles” C:\Users\Benjamin\ClionProjects\testet CMake Error at cmake_modules/FindSFML.cmake:355 (message): Could NOT find SFML (missing: SFML_SYSTEM_LIBRARY SFML_WINDOW_LIBRARY SFML_GRAPHICS_LIBRARY SFML_NETWORK_LIBRARY SFML_AUDIO_LIBRARY) Call Stack (most recent call first): CMakeLists.txt:10 (find_package)

”`

所以它找不到SFML?但是“findSFML.cmake”不应该解决这个问题吗?任何帮助表示赞赏…谢谢! :D

原文由 Bonbin 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
2 个回答

我相信你错过了 link_directories() 电话。你可以像这样使用它:

 link_directories("C:/Path_To_Library")

这应该有助于解决您的问题。

原文由 CodeLikeBeaker 发布,翻译遵循 CC BY-SA 3.0 许可协议

我已经在 Ubuntu 16.04 上成功地 使用 CLion 配置了 SFML, 我认为它对于 Window 用户也是一样的。

我的项目名称是 SFML_TEST ,所以每次出现 SFML_TEST 时都用您的项目名称更改。

  1. 创建一个新的 Clion C++ 项目。
  2. 导航到 /path/to/CLionProjects/[Project_Name]/CMakeLists.txt
  3. 在以下语句之后
   add_executable(SFML_TEST ${SOURCE_FILES})

添加以下代码行

   set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake_modules")
   find_package(SFML REQUIRED system window graphics network audio)
   if (SFML_FOUND)
   include_directories(${SFML_INCLUDE_DIR})
   target_link_libraries(SFML_TEST ${SFML_LIBRARIES})
   endif()

  1. 创建一个新目录 /path/to/CLionProjects/[project_name]/cmake_modules/FindSFML.cmake

  2. 在 FindSFML.cmake 文件中粘贴给定文件 https://github.com/SFML/SFML/blob/master/cmake/Modules/FindSFML.cmake 中的以下代码行

  3. 完成!!!..快乐编码

原文由 Mr. Suryaa Jha 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题