2012-01-11 2 views
1

В настоящее время я запускаю Arch Linux на своем ноутбуке и надеялся узнать, почему Qt Creator не находит мою библиотеку переполнения (которая существует в моей системе).Ссылка на freeglut с Qt Creator в Linux

Мой файл установки 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 

Обратите внимание, что я попытался -lglut32 в моем файле QMAKE, как Что ж.

Что мне здесь не хватает?

ответ

4

Когда вы указываете -lfoobar в вашем .pro файле (или с gcc в целом), вы направляете компилятор для поиска библиотеки libfoobar.a. Судя по вашему местонахождению, похоже, вы хотите:

LIBS += -lglut 
+0

Да, я просто понял, что ха. – zeboidlund

+0

Это происходит :). Для дальнейшего использования INCLUDEPATH технически подходит для файлов заголовков; Предложения «-L» и «-l» должны проходить под LIBS. http://developer.qt.nokia.com/doc/qt-4.8/qmake-variable-reference.html#libs –

1

О, глупо меня. Я просто понял, что правильный lib для добавления был только -lglut, а не -lglut32. Это связано с тем, что существует libglut.so, а не libglut32.so.