过去两周我一直在尝试使用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
知道可能导致他们的原因吗?
答案 0 :(得分:1)
.a文件仅用于gcc编译器。在使用VC ++编译时,您应该使用.lib。
如果您没有自己构建SFML,则这些文件位于SFML网站上的单独存档中。