繁体   English   中英

为什么CMAKE在CLion中找不到我的SFML库?

[英]Why can't CMAKE find my SFML libraries in CLion?

我正在尝试使用CMAKECLion上运行SFML ,但不断出现以下错误:

错误:找不到SFML(丢失:SFML_SYSTEM_LIBRARY SFML_WINDOW_LIBRARY SFML_GRAPHICS_LIBRARY SFML_NETWORK_LIBRARY SFML_AUDIO_LIBRARY)

这是我的CMakeLists.txt文件:

cmake_minimum_required(VERSION 2.6)

if(NOT CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build (Debug or Release)" FORCE)
endif()

project(Polymorphism)

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

set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/Modules" ${CMAKE_MODULE_PATH})
find_package(SFML REQUIRED system window graphics network audio)
if(SFML_FOUND)
    include_directories(${SFML_INCLUDE_DIR})
    target_link_libraries(${main.cpp} ${SFML_LIBRARIES})
endif()

有什么帮助吗?

由于我们不了解您的环境,因此无法告诉您。

但是,这通常应该可以帮助:

添加一个新的CMake变量SFML_ROOT并使其指向安装SFML的目录。

只需将变量添加到您的CMakeCache.txt或在您第一次运行CMake时将其传递,例如:

cmake -DSFML_ROOT=/code/SFML path/to/source

另外,您在下面还有一个问题:

target_link_libraries(${main.cpp} ${SFML_LIBRARIES})

在您的情况下,第一个参数应该是目标,即Polymorphism 另外,您应该添加SFML_DEPENDENCIES ,以防有人尝试静态链接SFML。 最后,此行应如下所示:

target_link_libraries(Polymorphism ${SFML_LIBRARIES} ${SFML_DEPENDENCIES})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM