2012-01-11 110 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