Связывание CodeLite и OpenGL с freeglut в Linux

Я пытаюсь настроить CodeLite IDE для использования установленных мной библиотек OpenGL.

Заголовки находятся в /usr/include/GL — вот содержимое ls:

    freeglut_ext.h  freeglut_std.h  glext.h  gl_mangle.h  glu_mangle.h  glxext.h  glxint.h      glxmd.h     glxtokens.h  freeglut.h      glcorearb.h     gl.h     glu.h        glut.h        glx.h     glx_mangle.h  glxproto.h  internal

Вот мой простой фрагмент кода:

    #include <GL/glut.h>

    int main(int argc, char** argv)
    {
        glutInit(&argc, argv);
        return 0;
    }

Наконец, вот результат попытки построить проект.

/bin/sh -c '/usr/bin/make -j4 -e -f  Makefile'
----------Building project:[ cpptest1 - Debug ]----------
make[1]: Entering directory '/home/brandon/codelite/cpptest/cpptest1'
/usr/bin/g++  -c  "/home/brandon/codelite/cpptest/cpptest1/main.cpp" -g -O0 -Wall -lglut -lGL -lGLU  -o ./Debug/main.cpp.o -I. -I. -I/usr/include/
/usr/bin/g++ -o ./Debug/cpptest1 @"cpptest1.txt" -L. -L/usr/include/GL  -lGL
./Debug/main.cpp.o: In function `main':
/home/brandon/codelite/cpptest/cpptest1/main.cpp:5: undefined reference to `glutInit'
collect2: error: ld returned 1 exit status
cpptest1.mk:76: recipe for target 'Debug/cpptest1' failed
make[1]: *** [Debug/cpptest1] Error 1
make[1]: Leaving directory '/home/brandon/codelite/cpptest/cpptest1'
Makefile:4: recipe for target 'All' failed
make: *** [All] Error 2
====2 errors, 0 warnings====

Обратите внимание, что я МОГУ создать правильный двоичный файл, используя g++ -o a.out main.cpp -lglut -lGL из командной строки.

Я даже могу использовать CodeLite для самостоятельной компиляции файла main.cpp. Я просто не могу построить проект.


person subdavis    schedule 20.01.2016    source источник


Ответы (1)


Это была проблема компоновщика, и ее можно решить следующим образом:

Настройки проекта > Линкер

Добавьте GL и Glut как библиотеки и укажите их в своих включениях (для linux /usr/include/GL)

Снимок экрана компоновщика

Кроме того, не забудьте добавить -lglut и -lGL в качестве флагов сборки для компилятора. Вероятно, лучше всего добавить их как глобальные настройки, чтобы вы не нарушали конфигурацию при переходе между отладкой и выпуском.

person subdavis    schedule 20.01.2016