C ++ SFML qt创建者未解析的外部

时间:2012-08-25 14:53:01

标签: c++ qt error-handling qt-creator sfml

过去两周我一直在尝试使用SFML设置qt创建者,但无济于事...... 这是我的.pro文件:

TEMPLATE = app
CONFIG += console
CONFIG -= qt

SOURCES += main.cpp

INCLUDEPATH += C:\SFML\include
LIBS += C:\SFML\lib\libsfml-system.a \
    C:\SFML\lib\libsfml-window.a \
    C:\SFML\lib\libsfml-graphics.a \
    C:\SFML\lib\libsfml-audio.a \
    C:\SFML\lib\libsfml-network.a

我的代码:

#include <SFML/System.hpp>
#include <iostream>

int main()
{
    sf::Clock Clock;
    while (Clock.GetElapsedTime() < 5.f)
    {
        std::cout << Clock.GetElapsedTime() << std::endl;
        sf::Sleep(0.5f);
    }

    return 0;
}

但我收到了这些错误:

main.obj:-1: error: LNK2019: unresolved external symbol "void __cdecl sf::Sleep(float)" (?Sleep@sf@@YAXM@Z) referenced in function _main
main.obj:-1: error: LNK2019: unresolved external symbol "public: float __thiscall sf::Clock::GetElapsedTime(void)const " (?GetElapsedTime@Clock@sf@@QBEMXZ) referenced in function _main
debug\SfmlLearning.exe:-1: error: LNK1120: 3 unresolved externals
debug\SfmlLearning.exe:-1: error: LNK1120: 3 unresolved externals

知道可能导致他们的原因吗?

1 个答案:

答案 0 :(得分:1)

.a文件仅用于gcc编译器。在使用VC ++编译时,您应该使用.lib。

如果您没有自己构建SFML,则这些文件位于SFML网站上的单独存档中。