SFML错误loadFromFile()

Iva*_*van 6 c++ visual-c++ sfml

我有以下代码:

#include <SFML\Graphics.hpp>
#include <iostream>

int main(int argc, char* argv[])
{
    sf::RenderWindow window(sf::VideoMode(640, 480), "SFML Render");
    sf::Image image;
    sf::Texture texture;
    sf::Sprite sprite;

    image.loadFromFile("D:/Project/Sprites/bt1.png");
    texture.loadFromImage(image);
    sprite.setTexture(texture);
    sprite.setPosition(100.0f, 100.0f);

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

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

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这很简单,但没有用.

我尝试使用不同种类的路径:

D:/Project/CPP/Game_Engine/Debug/sprites/first.bmp
D:\\Project\\CPP\\Game_Engine\\Debug\\sprites\\first.bmp
d:\\Project\\CPP\\Game_Engine\\Debug\\sprites\\first.bmp
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用不同的文件:

D:/Project/Sprites/bt.png
D:/Project/Sprites/anim.bmp
D:/Project/Sprites/boy.jpg
Run Code Online (Sandbox Code Playgroud)

编译器指示在以下行:

image.loadFromFile("D:/Project/Sprites/bt1.png");
Run Code Online (Sandbox Code Playgroud)

更确切地说,程序在此行崩溃. 在此输入图像描述

我的配置如下: 在此输入图像描述

错误/崩溃消息如下:

Необработанноеисключениепоадресу0x5007DEF8(msvcr110.dll)вSFML_ERROR.exe:0xC0000005:нарушениеправдоступапричтениипоадресу0x03BC1000.

翻译如下:

SFML_ERROR.exe中0x5007DEF8(msvcr110.dll)的未处理异常:0xC0000005:地址0x03BC1000上的访问冲突读取.

Iva*_*van 15

我的问题是混合Debug/Release,我用过sfml-window.lib,但我必须使用`sfml-window-d.lib'.我无法使用调试SFML库,因为我使用的是VC++ 2013(v120,但SFML需要v110).所以,我重新编译了官方库,它工作了!