当我使用SFML编译时,运行.exe的计算机是否需要安装SFML或其他文件,或者是否可以直接运行应用程序而不用担心。
对于新手的问题,很抱歉,只是想知道,因为我想使用SFML进行编程作业,这是我第一次。提前感谢
发布于 2015-11-10 06:02:31
首先,你的问题有点令人困惑,因为当你说“用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,我需要使用适当的SFML库对输出的circle.o文件进行链接,如下所示:g++ -o circle circle.o -lsfml-graphics。
IDE
与Microsoft's Visual Studio的命令行相比,使用IDE要容易得多。在IDE中,您需要在名为“外部依赖项”的部分中进行设置,以包含SFML库。您还需要在"Linker“部分中链接SFML库。这些部分在您的项目设置中通常是健全的。参见SFML的非常好的教程here的屏幕截图,这将使我的描述更容易理解。
发布于 2016-04-01 04:19:29
我不是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
https://stackoverflow.com/questions/33604893
复制相似问题