SFML loadFromFile未定义引用

时间:2015-09-06 18:22:32

标签: c++ sfml

我正在学习使用SFML创建一个小游戏的想法,到目前为止我已经创建了一个窗口,并对其设置进行了混乱,并设置了一个绘制循环和事件处理程序。

一旦我尝试使用以下代码添加我的第一个纹理,麻烦就开始了:

#include "SpaceNomad.ih"

void MainMenu(GameEngine &Engine)
{
    sf::Texture texture;

    if(!texture.loadFromFile("MenuBackGround.png"))
    {
        cout << "couldn't load background texture\n";
    }

    sf::Sprite *sprite = new sf::Sprite;
    sprite->setTexture(texture);

    Engine.AddEntity(sprite, 5);
}

SFML tutorial page上给出的示例代码之外的不同图像。

当我尝试编译时,我收到以下错误:

||=== Build: Debug in space nomad (compiler: GNU GCC Compiler) ===|
obj\Debug\projects\st\take2\MainMenu.o||In function     `Z8MainMenuR10GameEngine':|
D:\projects\st\take2\MainMenu.cpp|7|undefined reference to `_imp___ZN2sf7Texture12loadFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_4RectIiEE'|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

我已经检查过所有的sfml库都包含在构建选项中(我使用的代码是:: GCC MinGW的块)。

https://drive.google.com/file/d/0B4qzXcgqbLZtcHJWUy1vSUhpdVk/view?usp=sharing

我见过的其他主题涉及对人们自己制作的函数的未定义引用,但在这里我使用的是库。

编辑:我刚尝试使用同一个库中的基本形状:

    sf::CircleShape *shape = new sf::CircleShape(50);

    // set the shape color to green
    shape->setFillColor(sf::Color(100, 250, 50));

    Engine.AddEntity(shape, 5);

编译和显示没有问题。

0 个答案:

没有答案