настроить SFML для clion (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

1

Решение

Я полагаю, что вам не хватает link_directories() вызов. Вы можете использовать это так:

link_directories("C:/Path_To_Library")

Это должно помочь решить вашу проблему.

0

Другие решения

Я успешно настроил SFML с CLion на Ubuntu 16.04 и я думаю, что это будет то же самое для пользователя Windows также.

Мой проект называется 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()
    
  4. Создайте новый каталог /path/to/CLionProjects/[project_name]/cmake_modules/FindSFML.cmake

  5. В файле FindSFML.cmake вставьте следующую строку кода из данного файла https://github.com/SFML/SFML/blob/master/cmake/Modules/FindSFML.cmake
  6. Готово !!! .. Счастливого кодирования
0

я решил, что мне нужно было изменить корневой путь SFML в FindSFML.cmake

так просто set(SFML_ROOT Z://your_project) после блока комментариев и вы готовы идти

0
По вопросам рекламы [email protected]