Windows 10上的CLion / CMake中的“找不到SFML”错误?

时间:2018-11-22 04:19:20

标签: windows c++11 cmake sfml clion

我目前正在尝试将SFML集成到Windows 10上的CLion中(我对SFML或CMake不太熟悉)。我在CMakeLists.txt中尝试了几种不同的方法和组合,但仍然收到相同的错误:

CMake Error at cmake_modules/FindSFML.cmake:199 (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:12 (find_package)

这是我的CMakeLists.txt:

cmake_minimum_required(VERSION 3.10)
project(P3)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES main.cpp)
add_executable(P3 ${SOURCE_FILES})

set(SFML_ROOT "C:/SFML-2.5.1")

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})
    link_directories("C:/SFML-2.5.1")
    target_link_libraries(P3 ${SFML_LIBRARIES})
endif()

我不确定我在做什么错。我已经使用了相当长的时间,尽管进行了无数的Google搜索和研究,但我似乎找不到解决方案。任何帮助将不胜感激,并在此先感谢您。

此外,我的FindSFML.cmake文件位于我在CLionProjects文件夹内的项目文件夹中创建的cmake_modules文件夹中(如果有用的信息)。

1 个答案:

答案 0 :(得分:0)

cmake似乎找不到SFML组件。

根据此链接(https://en.sfml-dev.org/forums/index.php?topic=24070.0),您可以尝试: set(SFML_DIR "C:/SFML-2.5.1") find_package(SFML 2.5 COMPONENTS graphics audio REQUIRED)