2013-05-25 165 views
0

我一直在试图让SFML与QT创建者(以及一般的gcc)一起工作,但我的示例项目无法编译。我安装它使用以下命令:在Ubuntu 13.04和QT-Creator上设置SFML

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的。

回答

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

+0

还要注意的是,在Ubuntu软件仓库中的版本是1.6,而目前的版本是2.0,这个重要的文档和示例。 –