Следующая тема

В этой статье объясняется, как настроить ваши проекты SFML, если Вы используете интегрированную среду разработки программного обеспечения Visual Studio (компилятор Visual Studio С++).

Установка SFML

Скачайте SFML SDK со страницы загрузки. Выбираем самую последнюю версию софта, на сегодня это версия SFML 2.5.1. Есть варианты выбора для 32-х разрядных систем и 64-х разрядных (рис. №1). Я скачиваю 64-х разрядную библиотеку.

рисунок №1
рисунок №1

Скачанный архив Вы можете распаковать в любую папку. Я распаковываю на диск С: в папку IT (C:\IT).

Создание и настройка проекта SFML

Создаём пустой проект в Visual Studio (рис. №2).

рисунок №2
рисунок №2

В обозреватели решений выбираем наш проект (рис. №3).

рисунок №3
рисунок №3

В меню проекта выбираем добавить новый элемент (рис. №4).

рисунок №4
рисунок №4

Добавляем файл main.cpp (рис. №5).

рисунок №5
рисунок №5

Указываем компилятору, где найти заголовочные файлы SFML (файлы .hpp).

Меню -> проект -> свойства проекта -> С/С++ ->общие ->Дополнительные каталоги включаемых файлов

Обращаем внимание на платформу решения, она должна совпадать с разрядностью скачанной библиотеки SFML. В нашем случае мы настраиваем 64-х разрядную библиотеку (рис. №6). Если Вы настраиваете 32-х разрядную систему тогда указывайте x86.

рисунок №6
рисунок №6

В обозреватели решений выбираем наш проект (рис. №3).

Выбираем меню проект и меню свойства (рис. №7).

рисунок №7
рисунок №7

В свойствах проекта добавляем путь к заголовочным файлам SFML (рис. №№8-11).

С/С++ ->общие ->Дополнительные каталоги включаемых файлов (включаем каталог include)

рисунок №8
рисунок №8
рисунок №9
рисунок №9
рисунок №10
рисунок №10
рисунок №11
рисунок №11

Указываем компоновщику, где найти библиотеки SFML (файлы .lib рис.№№12-14).

Компоновщик -> общие -> дополнительные каталоги библиотек(включаем каталог lib)

рисунок №12
рисунок №12
рисунок №13
рисунок №13
рисунок №14
рисунок №14

Связываем наше приложение с библиотеками SFML файлами *.lib (рис. №№15-16)

для Debug :

sfml-graphics-d.lib

sfml-window-d.lib

sfml-audio-d.lib

sfml-system-d.lib

sfml-network-d.lib

для Release :

sfml-graphics.lib

sfml-window.lib

sfml-system.lib

sfml-audio.lib

sfml-network.lib

Компоновщик -> ввод -> дополнительные зависимости

рисунок №15
рисунок №15
рисунок №16
рисунок №16

Копируем название библиотек в поле окна дополнительные зависимости (рис. №16 конфигурация Debug).

Устанавливаем отображения графического окна без консоли (рис. №17).

Компоновщик -> система -> подсистема (subsystem:windows)

рисунок №17
рисунок №17

Создаём точку входа: mainCRTStartup (рис. №18).

Компоновщик -> дополнительно -> точка входа

рисунок №18
рисунок №18

Незабываем в конце нажать кнопку применить.

Копируем все файлы из папки bin библиотеки SFML и вставляем в наш проект (рис. №19).

рисунок №19
рисунок №19

Копируем шаблон кода библиотека SFML в файл main.cpp (рис. №20)

рисунок №20
рисунок №20

Шаблон кода библиотеки SFML:

#include <SFML/Graphics.hpp>

using namespace sf;

int main()
{
    
    RenderWindow window(VideoMode(400, 400), L"Новый проект", Style::Default);
    
    window.setVerticalSyncEnabled(true);
       
    CircleShape shape(100.f,3); 
    shape.setPosition(100, 100);           
    shape.setFillColor(Color::Magenta);
        
    while (window.isOpen())
    {
        Event event;
        while (window.pollEvent(event))
        {
            if (event.type == Event::Closed)
                window.close();
        }
        
        window.clear(Color::Blue);
        window.draw(shape);
        window.display();
    }
    return 0;
}

Выполним код программы (рис. №21).

рисунок №21
рисунок №21

Если у Вас появился треугольник, значит Вы сделали всё правильно, создав свой первый проект SFML C++.​

Если что-то у Вас не вышло, то более подробную инструкцию подключения библиотеки SFML к Visual Studio 2022, а также создание шаблона библиотеки SFML в Visual Studio, вы можете узнать посмотрев видео "Подключение библиотеки SFML C++".

Следующая тема

Комментарии (7)


  1. Playa
    05.12.2022 22:48
    +1

    Автор что-нибудь слышал про пакетные менеджеры? А дальше дебага собирал этот проект?


    1. Troyy Автор
      06.12.2022 12:15

      Я уже делал обзор на ютуб по менеджеру пакетов vcpkg.


  1. JordanCpp
    06.12.2022 09:35
    +1

    Согласен с автором выше. Проще в cmake прописать две команды include_directories,
    link_directories к распакованной библиотеке SFML студия 2022 автоматом все подхватит. Чем лазить в дебри проекта студии.


    1. Troyy Автор
      06.12.2022 12:16

      Буду рад если поделитесь опытом)


      1. JordanCpp
        06.12.2022 17:17
        +1

        Примерно так. Это прям самый дубовый, но рабочий вариант. https://github.com/JordanCpp/SFML_Sample


  1. AmAlAleksander
    06.12.2022 10:57
    +1

    Буквально пару дней назад мучился, с настройкой, еле получилось, причем статическое связывание сделал


    1. Troyy Автор
      06.12.2022 12:22

      Супер!!!