【问题标题】:Loading texture SFML causes program to crash加载纹理 SFML 导致程序崩溃
【发布时间】:2014-01-08 00:53:57
【问题描述】:

我正在尝试加载一个 sf::Texture,但每次我运行程序时,我的计算机都会开始发出哔哔声(不是开玩笑),并且命令提示符会输出一堆看起来像古埃及象形文字的字符。 相关代码:

#pragma once

#include "SFML/Graphics.hpp"

class TextureLoader {
public:
    sf::Texture runway;

    ~TextureLoader(){}

    TextureLoader() {
        runway.loadFromFile("Runway.png");
    }
};

Runway.png 确实存在,因为我已经测试过创建一个 ifstream 并且它可以很好地加载图像。

调试器抱怨“访问冲突读取位置”,但位置每次都会更改,我一直无法在调试器中找到它指向的内存空间。除了纹理之外,每个对象似乎都很好。

【问题讨论】:

    标签: c++ graphics sfml


    【解决方案1】:

    您将 SFML 库的调试/发布版本与程序的调试/发布版本混合使用。如果你的程序是 debug 的,使用 SFML 的 debug 库,如果你的程序是 release 版本,使用 SFML 的 release 版本。

    【讨论】:

    • 想澄清一下?我能做些什么来解决它。我尝试删除要发布的 dll,但现在我收到一个错误,它找不到 dll
    • @Tips48 你的 IDE 和它的确切版本是什么?
    • Visual Studio Professional 2013 和 SFML 2.1
    • 属性 -> 链接器 -> 输入 -> 附加依赖项和属性 -> 链接器 -> 常规 -> 附加库目录,您需要为项目的发布和调试版本执行此操作以进行调试/ SFML 库的发布版本
    【解决方案2】:

    还在摸索如何设置项目设置的人,请按如下方式进行(注意“-d”用于调试):

    【讨论】:

      猜你喜欢
      • 2018-05-14
      • 1970-01-01
      • 1970-01-01
      • 2012-10-12
      • 2014-08-13
      • 2015-06-28
      • 2017-04-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多