2016-06-12 4 views
0

CMAKEがCLionで自分のSF​​MLライブラリを見つけることができないのはなぜですか?私は<code>CMAKE</code>と<code>CLion</code>に<code>SFML</code>を実行しようとしている、と私は、次のエラーを取得しておく

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

すべてのヘルプ:

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

は、これは私のCMakeLists.txtファイルのですか?

答えて

0

私たちはあなたの環境を知らないので、話すことができません。

が新しいCMakeの変数SFML_ROOTを追加し、それがSFMLがインストールされているディレクトリを指してみましょう:

しかし、これは通常は役立つはずです。

ただ、例えば、あなたのCMakeCache.txtに変数を追加したり、それをあなたがCMakeのを最初に実行した時間を渡す:

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

はまた、あなたがさらに下に、以下の問題を持っている:

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

最初のパラメータは、あなたのケースではPolymorphismのターゲットになっています。また、SFMLを静的にリンクしようとする場合に備えて、SFML_DEPENDENCIESを追加する必要があります。最後にこの行は次のようになります:

target_link_libraries(Polymorphism ${SFML_LIBRARIES} ${SFML_DEPENDENCIES}) 
関連する問題

 関連する問題