gpt4 book ai didi

c++ - 内存位置的 std::length_error 使用 SFML RenderWindow 时

转载 作者:行者123 更新时间:2023-11-30 05:45:04 24 4
gpt4 key购买 nike

我正在使用 SFML 对于我的项目,我目前正在关注网站上的教程。

目前我只完成了创建 RenderWindow 的第一步 使用以下代码(直接从教程粘贴):

#include <SFML/Graphics.hpp>
#include <SFML/Graphics/RenderWindow.hpp>

int main()
{
// create the window
sf::VideoMode vm (800, 600);
sf::RenderWindow window(vm, "My window");

// run the program as long as the window is open
while (window.isOpen())
{
// check all the window's events that were triggered since the last iteration of the loop
sf::Event event;
while (window.pollEvent(event))
{
// "close requested" event: we close the window
if (event.type == sf::Event::Closed)
window.close();
}

// clear the window with black color
window.clear(sf::Color::Black);

// draw everything here...
// window.draw(...);

// end the current frame
window.display();
}

return 0;
}

它编译得很好,但是当我运行它时,我得到以下异常:

First-chance exception at 0x76BFC42D in OpenGlTest.exe: Microsoft C++ 
exception: std::length_error at memory location 0x0046F754.

我尝试调试并将 std::length_error 追踪到 RenderWindow 构造函数:

sf::RenderWindow window(vm, "My window");      

我对 c++ 和 OpenGL 非常缺乏经验,所以我不知道如何进一步进行,它不会让我进入构造函数以查看发生了什么,它只是立即抛出异常。

感谢任何帮助。

最佳答案

我想我找到了问题所在。我不确定这是修复还是运气,但如果在使用 Visual C++ 时链接到 sfml-xxxx.lib 而不是 sfml-xxxx-d.lib,显然会发生崩溃。更改后它似乎确实有效。

关于c++ - 内存位置的 std::length_error 使用 SFML RenderWindow 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29517137/

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