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

C++ SFML qt creator unresolved externals

本文关键字:外部 代码 qt 创建者 C++SFML      更新时间:2023-10-16

在过去的两周里,我一直试图用SFML设置qt创建者,但没有成功。。。这是我的.pro文件:

TEMPLATE = app
CONFIG += console
CONFIG -= qt
SOURCES += main.cpp
INCLUDEPATH += C:SFMLinclude
LIBS += C:SFMLliblibsfml-system.a 
    C:SFMLliblibsfml-window.a 
    C:SFMLliblibsfml-graphics.a 
    C:SFMLliblibsfml-audio.a 
    C:SFMLliblibsfml-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
debugSfmlLearning.exe:-1: error: LNK1120: 3 unresolved externals
debugSfmlLearning.exe:-1: error: LNK1120: 3 unresolved externals

知道是什么原因造成的吗?

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

如果您不是自己构建SFML,这些文件在SFML网站上的单独档案中。