2017-01-17 17 views
0

в то время как я работаю рендеринг шрифтов с помощью ftgl в моем OPENGL проекте я обнаруженные ошибки заявляяНеопределенная ссылки на GLEW

g++ -o mygame Sample_GL3_2D.cpp glad.c -lGL -lglfw -ldl -lftgl -lSOIL -I /usr/include/freetype2 -L/usr/local/lib -lfreetype 
/usr/local/lib/libftgl.so: undefined reference to `__glewGenBuffers' 
/usr/local/lib/libftgl.so: undefined reference to `glewInit' 
/usr/local/lib/libftgl.so: undefined reference to `__glewBindVertexArray' 
/usr/local/lib/libftgl.so: undefined reference to `__glewBindBuffer' 
/usr/local/lib/libftgl.so: undefined reference to `__glewUniform3f' 
/usr/local/lib/libftgl.so: undefined reference to `__glewVertexAttribPointer' 
/usr/local/lib/libftgl.so: undefined reference to `__glewBufferData' 
/usr/local/lib/libftgl.so: undefined reference to `__glewDeleteBuffers' 
/usr/local/lib/libftgl.so: undefined reference to `__glewDeleteVertexArrays' 
/usr/local/lib/libftgl.so: undefined reference to `__glewGenVertexArrays' 
/usr/local/lib/libftgl.so: undefined reference to `__glewEnableVertexAttribArray' 

это мое содержимое в Makefile

all:mygame 

mygame: Sample_GL3_2D.cpp glad.c 
    g++ -o mygame Sample_GL3_2D.cpp glad.c -lGL -lglfw -ldl -lftgl -lSOIL -I /usr/include/freetype2 -L/usr/local/lib -lfreetype 
clean: 
    rm mygame 

выглядит как ошибки будучи поднятой библиотекой libftgl.so. Я установил GLEW, используя пакеты glew в ubuntu. но не понимаю, почему он не ссылается.

+1

Вы не связываетесь с glew, не так ли? – BDL

ответ

0

Вы не ссылаетесь на библиотеку GLEW на линии компиляции/ссылки. Флаг -l в g ++ сообщает ему сообщать компоновщику ссылку на библиотеку, например. -lftgl говорит ему искать ftgllibrary и связывать его.

У вас нет -lGLEW (или -lglew, если библиотека названа в нижнем регистре), поэтому она не связана. Также см. Этот ответ error undefined reference to `FTExtrudeFont::FTExtrudeFont(char const*)'

Возможно, вам вдвоем нужно собраться вместе и попробовать и помочь друг другу, так как вы пытаетесь решить ту же проблему (домашняя работа?).