VS 2010中的SFML错误

时间:2011-12-03 18:05:56

标签: c++ visual-studio-2010 visual-c++ sfml

我尝试了这个简单的测试,看看它是否有效:

#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;

}

我收到以下错误:

Error   1   error LNK2019: unresolved external symbol "void __cdecl sf::Sleep(float)" (?Sleep@sf@@YAXM@Z) referenced in function _main  c:\Users\Owner\documents\visual studio 2010\Projects\Engine\Engine\main.obj Engine
Error   2   error LNK2019: unresolved external symbol "public: float __thiscall sf::Clock::GetElapsedTime(void)const " (?GetElapsedTime@Clock@sf@@QBEMXZ) referenced in function _main  c:\Users\Owner\documents\visual studio 2010\Projects\Engine\Engine\main.obj Engine
Error   3   error LNK2019: unresolved external symbol "public: __thiscall sf::Clock::Clock(void)" (??0Clock@sf@@QAE@XZ) referenced in function _main    c:\Users\Owner\documents\visual studio 2010\Projects\Engine\Engine\main.obj Engine
Error   4   error LNK1120: 3 unresolved externals   c:\users\owner\documents\visual studio 2010\Projects\Engine\Debug\Engine.exe    1   1   Engine

在VS 2010 here中有一个用于安装SFML的指令线程,我跟着它。不幸的是,我似乎还有问题。

有什么具体的我可能做错了吗?

2 个答案:

答案 0 :(得分:1)

如果您遇到“程序无法启动,因为您的计算机缺少sfml-system.dll,”复制 中的所有DLL 文件> include 目录并将其粘贴到 C:\ Windows \ system。重建项目,一切都应该没问题。

答案 1 :(得分:0)

这是1.6版本的教程,屏幕截图:
&GT; http://www.sfml-dev.org/tutorials/1.6/start-vc.php

非常重要的是,如果您链​​接到DLL,则必须在项目的设置中添加SFML_DYNAMIC(我在链接的教程中也会提到这一点)。