2013-05-25 164 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,這個重要的文檔和示例。 –