gpt4 book ai didi

c++ - SFML(32 位 VS12)-SFML.exe : 0xC0000005: Access violation reading location 0x0526. LoadFromFile 中 0x701ADEF8 (msvcr110.dll) 处未处理的异常

转载 作者:行者123 更新时间:2023-11-30 01:55:57 29 4
gpt4 key购买 nike

下面的代码给出了未捕获的异常(特别是

txtr.loadFromFile("C:/Users/kidz/Documents/Visual Studio 2012/Projects/SFML/Debug/chessboard.gif");

): "SFML.exe 中 0x701ADEF8 (msvcr110.dll) 处的未处理异常:0xC0000005:访问冲突读取位置 0x05260000。"

int _tmain(int argc, wchar_t* argv[]) {
sf::RenderWindow window(sf::VideoMode(512, 512), "ChessPlusPlus", sf::Style::Close);
sf::Sprite chessboard;
sf::Texture txtr;

txtr.loadFromFile("C:/Users/kidz/Documents/Visual Studio 2012/Projects/SFML/Debug/chessboard.gif");
chessboard.setTexture(txtr);

while (window.isOpen()) {
sf::Event event;
while (window.pollEvent(event)) {
if (event.type == sf::Event::Closed) {
window.close();
}
}

window.clear();
window.draw(chessboard);
window.display();
}

getwchar();
return 0;
}

此外,在程序调试期间,控制台会输出一堆随机的 ASCII 字符(有时甚至是个人文件,如论文等...)。然后,控制台变为空白(空字符)并抛出异常。

有一次,我能够暂停程序并一直向上滚动,它说:“无法打开文件 'chessboard.gif(单词中有一些随机 ASCII 字符)'”,然后是一长串的 ASCII 字符。

SFML 有问题还是我做错了什么?我知道 SFML 文档说有时文件可能无法加载并引发异常,但在这种情况下,它会变得疯狂。另外,我随机输入了一个不存在的文件名,但仍然发生了同样的事情,而不是抛出文件未找到异常。

我在 Orwell Dev-C++ 上尝试了相同的代码,它只在图像应该所在的位置返回一个白框,并在文件不存在时返回异常。

部分图片:
http://i.stack.imgur.com/gq420.png
http://i.stack.imgur.com/Os8jw.png

我很乐意提供任何额外信息。

谢谢你,
我们和 friend 们!

最佳答案

当您将调试库与 Release模式混合使用或将发布库与 Debug模式混合使用时,就会出现此问题。确保在 Debug模式下仅使用 -d 后缀的 SFML 库,在 Release模式下使用无后缀的 SFML 库 - 如 official tutorial 中所述.

作为旁注,还建议始终使用 int main()。如果您只想要一个没有命令提示符的窗口,那么您可以将子系统更改为窗口并链接到 sfml-main

关于c++ - SFML(32 位 VS12)-SFML.exe : 0xC0000005: Access violation reading location 0x0526. LoadFromFile 中 0x701ADEF8 (msvcr110.dll) 处未处理的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20208292/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com