使用SFML进行编译

时间:2015-11-09 08:15:42

标签: compilation exe sfml

当我使用SFML编译时,运行.exe的计算机是否需要安装任何SFML或其他文件,或者它可以毫无顾虑地运行应用程序。

很抱歉这个noob问题只是想知道因为我想使用SFML进行编程任务,这是我第一次。提前致谢

2 个答案:

答案 0 :(得分:0)

首先,当你说"使用SFML"编译时,你的问题有点令人困惑。听起来你正在使用SFML作为编译器。这根本不可能,因为SFML是一个库而不是编译器,所以我假设你的意思是“编译一个使用SFML"的程序。”

其次,听起来你是从命令行编译而不是从IDE编译,但我会回答这两个问题。总之,虽然你需要"告诉"编译器以某种方式使用SFML;仅使用import是不够的。相反,这是通过链接必要的SFML库来完成的。

Linux上的命令行

假设您已下载文件,请导航至其目录(SFML-x。我相信)并使用命令sudo make install安装库。

要从命令行链接文件,您需要使用-l标记进行链接(即短划线L,而不是短划线1)。例如,如果我创建了一个名为circle.cpp的小程序,它使用如下的SFML:

#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(240, 240), "Test Window");
    sf::CircleShape circle(20.f);
    circle.setFillColor(sf::Color::Red);

    while (window.isOpen())
    {
        window.clear();
        window.draw(shape);
        window.display();
    }

    return 0;
}

然后编译(例如使用g ++),我只需编写以下命令:g++ -c circle.cpp。但是,要创建最终的.exe,我需要链接输出的circle.o文件和相应的SFML库,如:g++ -o circle circle.o -lsfml-graphics

IDE

诸如Auto correction , auto complete features之类的IDE比SFML的命令行更容易使用。在IDE中,您需要在名为&#34;外部依赖关系&#34;的部分中设置设置。包括SFML库。您还需要在&#34; Linker&#34;中链接SFML库。部分。这些部分通常在项目设置中是合理的。有关屏幕截图,请参阅SFML的非常好的教程Microsoft's Visual Studio,这将使我的描述更容易理解。

答案 1 :(得分:0)

我不是100%肯定你在问什么,但我想你是在问如何使用和编译SFML。

您可以做的最好的事情是转到官方的SFML文档。它写得非常好,并解释了启动和运行所需的一切。

您可以在此处找到入门的官方教程:

http://www.sfml-dev.org/tutorials/2.3/start-vc.php(这适用于Visual Studio)

如果仔细完成每个步骤,SFML应该运行得很好。此外,如果您需要Visual Studio,可以从这里免费下载:

https://www.visualstudio.com/products/free-developer-offers-vs