SFML C++

Содержание
Введение
Скачивание библиотеки SFML2
Создание проекта в Visual Studio
C/C++ General - include
Linker General - lib
Linker Input
SFML2.dll
Другие статьи о С++

Введение

SFML (англ. Simple and Fast Multimedia Library — простая и быстрая мультимедийная библиотека) — свободная кроссплатформенная мультимедийная библиотека.

Написана на C++ , но доступна также для C , C#, .Net , D, Java , Python , Ruby , OCaml, Go и Rust. Представляет собой объектно-ориентированный аналог SDL .

SFML содержит ряд модулей для простого программирования игр и мультимедиа приложений. Исходный код библиотеки предоставляется под лицензией zlib/png license.

В настоящее время доступны следующие модули:

Загрузка библиотеки

Скачать SFML2 можно на сайте sfml-dev.org

Затем архив нужно распаковать, например, создав директорию

C:\Development\SFML2

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

После этого в Visual Studio создайте пустой C++ проект. Консольное приложение для win32, например. И в этом проекте создайте файл main.cpp

Обычно проекты храняться в директории

C:\Users\Username\source\repos

Например, мой проект с тетрисом лежит в

C:\Users\Andrei\source\repos\TetrisSFML

В Visual Studio можно открыть расположение файлов проекта нажав на его называние правой кнопкой мыши и выбрав

Open Folder in File Explorer

Затем нужно перейти в настройки проекта и подключить некоторые директории из SFML2 к проекту.

C/C++ General

В

C/C++ → General → Additional Include Directories

Нужно добавить путь до директории include

C:\Development\SFML2\include

Linker General

В

Linker → General → Additional Library Directories

Нужно добавить путь до директории lib

C:\Development\SFML2\lib

Linker Input

В

Linker → Input → Additional Dependencies

Нужно добавить следующие библиотеки

sfml-audio-d.lib sfml-graphics-d.lib sfml-network-d.lib sfml-system-d.lib sfml-window-d.lib

Из директории

C:\Development\SFML2\bin

Нужно скопировать следующие .dll в директорию проекта (чтобы лежали рядом с main.cpp)

Рисуем круг

sfml-dev.org

#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; }

Article author: Andrei Olegovich

Похожие статьи
Development на C++
Перегрузка функций
-c: Компиляция
Разбиение кода на части
Вектор
Указатели
Классы
Тетрис на C++ с библиотекой SFML2
SDL
Массив Структур
Как узнать тип переменной C++
Решение задач на C++
Как создать пустую строку в C++
Запросы к REST API на C++
Ошибки C++
Make

Search this site

Subscribe to Telegram channel @aofeed to follow new articles and updates to old ones

Go to channel

@aofeed

Ask a question in the Telegram group

@aofeedchat

Contacts and cooperation:
I recommend our hosting beget.ru
Write to info@urn.su if you:
1. Want to write an article for our site or translate an article into your native language.
2. Want to place thematically relevant ads on the site.
3. Ads on my site pass maximum censorship. If you see an ad block unsuitable for school-age children, shocking or misleading - please contact us by e-mail
4. Found a mistake, inaccuracy, bug, etc. on the site. ... .......
5. Articles can be shared on social media by clicking a network icon: