2012-01-11 34 views
1

我當前在我的筆記本上運行Arch Linux,並希望知道爲什麼Qt Creator沒有找到我的glut庫(它存在於我的系統中)。在Linux中將Freeglut與Qt Creator鏈接起來

我的設置qmake的文件,如下所示:

 ... 
    /*sources and headers above*/ 

    QT += opengl 

    LIBS += -lfreeglut 

    INCLUDEPATH += -L/usr/lib/ 

當我運行一個定位glut,我得到如下:

/usr/include/kwinglutils.h 
/usr/include/kwinglutils_funcs.h 
/usr/include/GL/freeglut.h 
/usr/include/GL/freeglut_ext.h 
/usr/include/GL/freeglut_std.h 
/usr/include/GL/glut.h 
/usr/lib/libglut.a 
/usr/lib/libglut.so 
/usr/lib/libglut.so.3 
/usr/lib/libglut.so.3.9.0 
/usr/share/avogadro/fragments/amino_acids/D-glutamic_acid.cml 
/usr/share/avogadro/fragments/amino_acids/D-glutamine.cml 
/usr/share/avogadro/fragments/amino_acids/L-glutamic_acid.cml                            
/usr/share/avogadro/fragments/amino_acids/L-glutamine.cml 
/usr/share/licenses/freeglut 
/usr/share/licenses/freeglut/LICENSE 
/var/lib/pacman/local/freeglut-2.6.0-1 
/var/lib/pacman/local/freeglut-2.6.0-1/changelog 
/var/lib/pacman/local/freeglut-2.6.0-1/desc 
/var/lib/pacman/local/freeglut-2.6.0-1/files 

注意,我在我的qmake文件試圖-lglut32爲好。

我在這裏可能會錯過什麼?

回答

4

當您在.pro文件中指定-lfoobar(或者通常使用gcc)時,您指示編譯器搜索庫libfoobar.a。從您的定位輸出來看,它看起來像你想要的:

LIBS += -lglut 
+0

是的,我剛剛意識到那個。 – zeboidlund 2012-01-11 19:40:00

+0

它發生:)。爲了將來的參考,INCLUDEPATH在技術上用於頭文件; 「-L」和「-l」條款都應該在LIBS下進行。 http://developer.qt.nokia.com/doc/qt-4.8/qmake-variable-reference.html#libs – 2012-01-11 19:48:49

1

哦,傻我。我剛剛意識到要添加的正確的lib只是-lglut而不是-lglut32。這是因爲存在libglut.so,而不是libglut32.so