我有以下代碼:SFML錯誤loadFromFile()
#include <SFML\Graphics.hpp>
#include <iostream>
int main(int argc, char* argv[])
{
sf::RenderWindow window(sf::VideoMode(640, 480), "SFML Render");
sf::Image image;
sf::Texture texture;
sf::Sprite sprite;
image.loadFromFile("D:/Project/Sprites/bt1.png");
texture.loadFromImage(image);
sprite.setTexture(texture);
sprite.setPosition(100.0f, 100.0f);
sf::Event event;
while (window.isOpen())
{
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(sprite);
window.display();
}
return 0;
}
這很簡單,但沒有奏效。
我嘗試使用各種不同的路徑:
D:/Project/CPP/Game_Engine/Debug/sprites/first.bmp
D:\\Project\\CPP\\Game_Engine\\Debug\\sprites\\first.bmp
d:\\Project\\CPP\\Game_Engine\\Debug\\sprites\\first.bmp
然後我試着用不同的文件:
D:/Project/Sprites/bt.png
D:/Project/Sprites/anim.bmp
D:/Project/Sprites/boy.jpg
編譯器在以下行表示:
image.loadFromFile("D:/Project/Sprites/bt1.png");
更確切地說,程序在這一行上崩潰。
我的配置如下:
錯誤/崩潰消息如下:
Необработанноеисключениепоадресу0x5007DEF8(msvcr110.dll)в SFML_ERROR.exe:0000005: нарушениеправдоступапричтениипо адресу0x03BC1000。
翻譯如下:0000005:訪問衝突閱讀 地址0x03BC1000在0x5007DEF8(msvcr110.dll)在 SFML_ERROR.exe
未處理的異常。
請問您可以發佈錯誤/崩潰消息的文本(可選,即)嗎? –
「loadFromFile函數有時會失敗,沒有明顯的原因,首先檢查標準輸出中SFML打印的錯誤消息(檢查控制檯)。」 - 正在打印什麼信息? –
我不能使用'sf :: err',程序在loadFromFile()上崩潰,因此下一行不會執行。錯誤/崩潰消息在上面。 – Ivan