【发布时间】:2019-10-16 14:35:48
【问题描述】:
我正在将 SFML 用于学校项目,当我尝试运行此代码时遇到此问题,我收到错误:双重释放或损坏(输出)并且程序崩溃。我的操作系统是ubuntu。
我尝试使用malloc 创建“文本”。在这种情况下,没有任何错误,但无论如何它都会崩溃(我仍然遇到分段错误)。我什至尝试将此代码发送给朋友,它适用于他,所以我认为我的配置有问题或其他什么?
int main(){
sf::RenderWindow window(sf::VideoMode(500, 320), " Text ");
sf::Event event;
sf::Font font;
font.loadFromFile("../arial_narrow_7.ttf");
sf::Text text("hello", font);
text.setCharacterSize(30);
text.setStyle(sf::Text::Bold);
text.setFillColor(sf::Color::Red);
text.setFont(font);
while(window.isOpen()) {
window.draw(text);
window.display();
window.clear();
}
}
它应该用红色绘制文本“hello”,但正如我所说,程序崩溃了。
【问题讨论】:
-
它在哪里崩溃?您看到的错误是什么?
-
错误是双重释放或损坏(输出),我不确定它何时崩溃..我想当他试图删除文本或字体时,更具体地说,我收到信号 SIGABRT文件:new_allocator.h 位于 c++ 目录中
-
如果你尝试不同的字体会怎样?
-
我尝试使用开放的sans字体,错误一直到那里
-
在每一行后面加上 printf 来检查它在哪里崩溃然后告诉我们。
标签: c++ segmentation-fault sfml