Уроки, алгоритмы, программы, примеры

Вход на сайт

Материалы по разделам

Построения
на плоскости (2D)
Графика
в пространстве (3D)
Вычислительная
геометрия
Физическое
моделирование
Фрактальная
графика

Новые комментарии

dobryj den, popytalas otkryt prikreplionnyj fail ctoby posmotret kak rabotaet, no mne ego ne pokazyvaet vydajet osibku. Pochemu?
Очень интересно! ии сайт крутой жалко что умирает(
У Вас число превысит максимальное число int. Можно использовать в Вашем случае uint, но лучше все переписать на double.
Добавление к программе строки glutReshapeFunc(changeSize); приводит к тому, что треугольник перестаёт совсем отрисовываться.
Выдаёт ошибку glut32.dll не найден! При том, что он лежит в System32! Всё решил) Нужно отправить не в System32, а в System.

Счетчики и рейтинг

Рейтинг@Mail.ru Яндекс.Метрика
Среда программирования: 
Visual C

В этом уроке я хотел бы показать, как подключить библиотеку SFML к среде разработки Visual Studio.

SFML содержит ряд модулей для простого программирования игр и мультимедиа приложений.

Перед тем как начать. Нужно пройти по ссылке: http://www.sfml-dev.org/download/sfml/2.3.2/ (это официальный сайт) и скачать библиотеку. Выбирайте версию для своей VS.

Распаковываем куда вам угодно, на всякий случай старайтесь избегать русских букв в папках пути.

Запускаем Visual Studio, файл->создать->проект->пустой проект. (Имя проекта, решений и путь выбирайте сами).

Добавляем исходный код – для этого слева в обозревателе решений находим вкладку «Файлы исходного кода»->правый клик->добавить->создать элемент->файл C++ (имя main.cpp)->добавить.

Далее вставляем вот этот тестовый код в файл main.cpp

#include <SFML/Graphics.hpp>
 
int main()
{
	sf::RenderWindow window(sf::VideoMode(200, 200), "SFMLworks");
	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.

Для начала, все действия мы делаем для конфигурации Debug.

Заходим вверху «проект»->свойства “имя проекта”->свойства конфигурации->C++->общие

В пункте «дополнительные каталоги включаемых файлов прописываем путь до раннее распакованного архива с библиотекой (+ \include.)

Например: C:\Program Files\SFML-2.3.2\include

Затем идем в компоновщик->общие и в пункте «дополнительные каталоги библиотек» прописываем путь к папке lib;

Далее идем в компоновщике во вкладку ввод и в первой строке «дополнительные зависимости» вписываем перед всеми библиотеками следующую строчку:

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

Только что подключили основные необходимые для работы библиотеки.

Последний штрих – идем во вкладку C++->препроцессор и в первой строке «определение препроцессора» в самом начале дописываем: SFML_DYNAMIC;

Напоминаю, все действия мы делали для конфигурации Debug. Все тоже самое нужно проделать для конфигурации Release.
Заходим вверху «проект»->свойства “имя проекта”->свойства конфигурации. В левом верхнем углу находим Конфигурация, нажимаем на слайдер и выбираем Release.
И повторяем несколько предыдущих пунктов.

Запустим и словим ошибку. Зато соберется проект и появится папка debug.

Теперь идем в папку бинарников “bin”, которую вы скачали и распаковали с библиотекой (мой вариант D:\SFML-2.2\bin\) и копируем всё содержимое этой папки (dll файлы типа sfml-graphics-2.dll) в папку с вашим проектом в папку debug (после сборки появилась эта папка), но не в тот debug, где лежит файл с исходным кодом “main.cpp”, а тот, где появляется exe файл.

В эту же папку копируем и вот эти файлы :

msvcp100d.dll;msvcp110.dll;msvcp110d.dll;msvcr100d.dll;msvcr110.dll;msvcr110d.dll;

Все эти файлы можно скачать в zip архиве, который я прикрепил снизу.

Теперь проект можно запустить и если вы всё сделали правильно, то увидите зелёный круг как на скриншоте ниже:

Если возникла вот такая проблема:

Советую воспользоваться программой: Dll-Files Fixer.

Прикрепленный файлРазмер
msvcp.zip550.93 кб
msvcr.zip1.61 Мб