2016-06-12 39 views
0

Ich versuche SFML auf CLion mit CMAKE zu laufen, und ich immer die folgenden Fehlermeldung erhalten:Warum kann CMAKE meine SFML-Bibliotheken nicht in CLion finden?

Error:Could NOT find SFML (missing: SFML_SYSTEM_LIBRARY SFML_WINDOW_LIBRARY SFML_GRAPHICS_LIBRARY SFML_NETWORK_LIBRARY SFML_AUDIO_LIBRARY)

Das ist meine CMakeLists.txt Datei:

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() 

Jede Hilfe?

Antwort

0

Unmöglich zu sagen, da wir Ihre Umgebung nicht kennen.

Dies sollte jedoch in der Regel helfen:

eine neue CMake Variable hinzufügen SFML_ROOT und lassen Sie es auf das Verzeichnis zeigen, wo SFML installiert ist.

Fügen Sie einfach die Variable auf Ihre CMakeCache.txt oder übergeben Sie es das erste Mal CMake laufen, zB:

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

Auch haben Sie ein Problem weiter unten:

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

Der erste Parameter soll das Ziel sein, in Ihrem Fall Polymorphism. Außerdem sollten Sie SFML_DEPENDENCIES hinzufügen, falls jemand versucht, SFML statisch zu verknüpfen. Am Ende sollte diese Zeile wie folgt aussehen:

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