所以,我在C ++中使用SFML制作游戏,但是当我尝试添加图像时,出现了一个非常奇怪的OpenGL(我认为)错误。根本没有任何意义。 首先我的控制台被随机文本和符号垃圾邮件,然后应用程序崩溃,视觉工作室告诉我:
Exception thrown at 0x618EDBF4 (vcruntime140.dll) in SFML_Game.exe: 0xC0000005: Access violation reading location 0x00C54000.
听起来它与我无法阅读我添加的图片文件有关,虽然我不知道它是什么。 图片的位置位于我的" SFML_Game.vcxproj" 所在的文件夹中。
我也没有机会看到"无法加载玩家形象"由于垃圾邮件太快,因此在控制台中打印出来。
编辑我可以看到图片现在无法加载,这里有一张图片......:
这是我目前的代码:
#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();
}
}
答案 0 :(得分:-1)
所以,似乎我的代码很好,这是一个链接器错误。 我不知道静态动态库,静态库和动态库之间的区别,所以我只是将它们全部放在那里,在删除它们之后它开始工作了。 至少在调试模式下。
差不多,如果其他人有这个问题,请查看如何在他们的网站上设置SFML而不是视频教程。 ^^