我一直在努力让SFML与QT-creator(以及一般的gcc)一起工作,但我的示例项目将无法编译。我使用以下命令安装它:
sudo apt-get install libsfml-dev
但编译只会给我带来很多错误:
/home/jan/Documents/SFMLTest/main.cpp:5: error: undefined reference to sf::String::String(char const*, std::locale const&)'
/home/jan/Documents/SFMLTest/main.cpp:5: error: undefined reference to `sf::RenderWindow::RenderWindow(sf::VideoMode, sf::String const&, unsigned int, sf::ContextSettings const&)'
等等。
我的.Pro文件设置如下:
SOURCES += main.cpp
LIBS += -lsfml-system -lsfml-window -lsfml-graphics -lsfml-audio
这是在main.cpp中:
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Green);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(shape);
window.display();
}
return 0;
}
我尝试过this,但似乎没有效果。
任何帮助都会很棒,因为我还不熟悉linux / ubuntu。
答案 0 :(得分:1)
随Ubuntu提供的软件包非常陈旧,从那时起API发生了很大的变化(例如,没有sf::CircleShape
)。我建议你自己建造它。从http://sfml-dev.org/download/sfml/2.0/下载并执行以下命令:
cmake
sudo make install
要调整配置,请安装cmake-qt-gui
并执行cmake-gui
而不是cmake
。
它可能会抱怨未找到依赖项,只需安装apt-get所缺少的内容即可。 (使用synaptic
)
有关详情:http://sfml-dev.org/tutorials/2.0/compile-with-cmake.php