Как стать автором
Обновить

Clion и SFML

Вступление


Привет, это статья посвящена установке и подключение библиотеки SFML к среде разработки Clion в Linux Ubuntu. Я не могу гарантировать что это способ заработает на других дистрибутивах linux, но то что это работает в Ubuntu гарантирую на 90 %.

Проблемы


Я заметил что у многих людей возникают трудности подключения sfml не только к Clion, но и к другим средам разработки отличных от Visual Studio. Это видно по количеству запросов на форуме и видеороликов на youtube. В частности это проблемы связанны с cmake.

Установка


Итак приступим. Для начала воспользуемся информацией с официального сайта sfml, по установке на Ubuntu.

Забыл упомянуть что способ который я описываю работает с sfml 2.5 и выше. Для начала открываем терминал и вставляем туда команду:
sudo apt-get install libsfml-dev
, для установки sfml по стандартному пути.

Подключение


Открываем ваш clion и создаем новый c++ проект. После создание открываем файл — CmakeList.txt.

По умолчание ваш CmakeList.txt выглядит так.

cmake_minimum_required(VERSION ваша версия cmake)
project(ваш проект)

set(CMAKE_CXX_STANDARD стандарт c++)

add_executable(ваш проект main.cpp)

Мы же изменим его вот так.

cmake_minimum_required(VERSION ваша версия)
project(ваш проект)

set(CMAKE_CXX_STANDARD ваш стандарт c++)

find_package(SFML 2.5 COMPONENTS graphics audio REQUIRED)

add_executable(ваш проект main.cpp)

target_link_libraries(ваш проект sfml-graphics sfml-audio)

В строке find_package() мы находим sfml по стандартному пути. В строке target_link_libraries() мы подключаем библиотеки. Вы также можете подключить остальные библиотеки sfml, например: sfml-network.

Тогда это будет выглядеть так: target_link_libraries(ваш проект sfml-graphics sfml-audio sfml-network).

Запуск!


Все готов обновляем ваш CmakeList.txt. и можно запускать.
Вставляем в ваш файл с функцией main тестовый код с сайта sfml.

Вот этот:

#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        window.draw(shape);
        window.display();
    }

    return 0;
}

Заключение


И теперь вы можете работать с вашими sfml проектами в среде разработки clion.Или другой среды использующей build — систему cmake.

Для написание статья использовалась следующая информация: официальный сайт SFML.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.