2016-09-13 6 views
0

Я получил (дважды, сейчас) setup guide для получения SFML и запуска в Visual Studio. Я убедился, что в файлах и каталогах .lib указаны указанные в настройках проекта и что требуемые .dll присутствуют в рабочем каталоге приложения в соответствии с руководством.Нарушение прав доступа, пытающееся создать окно SFML

Я пытаюсь выполнить следующие действия: (амбициозная, я знаю ...)

#include "stdio.h"; 
#include <iostream>; 
#include <SFML/Graphics.hpp>; 

int main() 
{ 
    sf::RenderWindow window(sf::VideoMode(640, 480), "Title"); 
    std::cin.get(); 
} 

Compile успешно, но как только при запуске приложения, я получаю:

Exception брошен на 0x56D5EEB6 (sfml-system-d-2.dll) в D20 RPG.exe: 0xC0000005: Доступ к считыванию нарушения доступа 0xCCCCCCD8.

С первой строкой, прокомментированной, приложение запускается и заканчивается без проблем.

Должен ли я найти источник SFML и скомпилировать его сам? Это довольно растянутая библиотека с множеством зависимостей, поэтому я избегаю этого, если кто-то не подумает, что это может помочь. Мой опыт работы с C++ и VS достаточно мал, что, я думаю, я с большей вероятностью представляю больше проблем, прежде чем решать эту проблему.

+0

Какую IDE и компилятор вы используете? Насколько я помню, SFML имеет разные загрузки для каждого компилятора. –

+0

Сообщество Visual Studio 15 (версия 14.0.24720.00 Обновление 1). Компилятор будет любым компилятором, который он использует для пустого проекта Visual C++. Я не уверен, где я буду искать дополнительную информацию об этом. – ophilbinbriscoe

ответ

0

Мне удалось получить этот код, создав новый пустой проект консольного приложения и используя интерфейс менеджера пакетов NuGet для установки пакетов sfml-graphics, sfml-window и sfml-system.

+0

Возможно, неправильно загружены библиотеки. Убедитесь, что вы выбрали 32-битный SFML, если вы создали 32-Project в Visual Studio (или, как вы только что использовали nuget). Это для большинства программ лучший выбор. –

 Смежные вопросы

  • Нет связанных вопросов^_^