2015-11-26 5 views
-1

Итак, я делаю игру с использованием SFML в C++, но когда я попытался добавить изображение, возникла действительно странная ошибка OpenGL (я думаю). Не имеет никакого смысла. Первая моя консоль была спам со случайным текстом и символами, то приложение разбился и Visual Studio сказал мне следующее:Странная ошибка при запуске моей игры SFML?

Exception thrown at 0x618EDBF4 (vcruntime140.dll) in SFML_Game.exe: 0xC0000005: Access violation reading location 0x00C54000. 

Это звучит как что-то делать с не в состоянии прочитать мой файл изображения я добавил, хотя я не знаю, что с ним дергает. Расположение изображения находится в той же папке, что и мой «SFML_Game.vcxproj» есть.

У меня также нет шансов увидеть, было ли сообщение «Не удалось загрузить изображение игрока» было напечатано на консоли, так как спам слишком быстр.

Редактировать Я могу видеть, что картина не удалось загрузить сейчас, вот картина ...:

Console Picture

Вот мой текущий код:

#include<iostream> 
#include<SFML/Graphics.hpp> 
#include <string> 

int main(int argc, char* argv[]) 
{ 
    // Creates a window 
    sf::RenderWindow Window(sf::VideoMode(800, 600), "SFML Game Engine"); 

    sf::Texture pTexture; 
    sf::Sprite playerImage; 

    if (!pTexture.loadFromFile("Player.png")) 
    { 
     std::cout << "Could not load player image" << std::endl; 
    } 

    playerImage.setTexture(pTexture); 

    while (Window.isOpen()) 
    { 
     sf::Event Event; 
     while (Window.pollEvent(Event) && Window.hasFocus()) 
     { 
      switch (Event.type) 
      { 
      case sf::Event::Closed: 
       Window.close(); 
       break; 
      } 
     } 


     Window.draw(playerImage); 
     Window.display(); 
    } 
} 
+1

Вы протестировали, если текстура не может быть загружена, но продолжена, поскольку она сработала ... Вы должны лучше справиться с этой ошибкой. –

+0

Месторасположение файла должно быть * рабочим каталогом приложения *. По умолчанию VS устанавливает это в каталог, в котором находится полученный .exe. Вы можете установить его в параметрах проекта в разделе «Отладка». – molbdnilo

+0

@molbdnilo Добавил его в папку Debug, где находится exe. по какой-то причине он по-прежнему не загружает изображение. – BiiX

ответ

-1

Так, кажется, что мой код был в порядке, и это была ошибка компоновщика. Я не знал разницы между статическими динамическими, статическими и динамическими библиотеками, поэтому я просто поместил их всех туда, после удаления некоторых из них он начал работать. По крайней мере, в режиме отладки.

В значительной степени, если у кого-то еще есть эта проблема, посмотрите, как установить SFML на своем веб-сайте, а не в видеоуроке. ^^

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