C как мне импортировать / связать glfw с gcc в Linux

#c #linux #gcc #linker #glfw

#c #linux #gcc #компоновщик #glfw

Вопрос:

это дерьмо не работает. почему?

 gcc -c -Wall src/*.c -g -m64 amp;amp; gcc -Iinclude *.o -o bin/debug/main -Lusr/local/lib -l libglfw amp;amp; ./bin/debug/main
 

я получаю эту ошибку при попытке создать пример окна glfw

 /usr/bin/ld: cannot find -l libglfw
collect2: error: ld returned 1 exit status
 

Как мне импортировать / связать glfw и что происходит не так? Я пробовал динамически связываться с usr/lib/x86_64-linux-gnu/libglfw.so , но это не помогло. Я довольно новичок в gcc и Linux, поэтому я мог просто быть глупым.

РЕДАКТИРОВАТЬ: в комментариях указано на несколько ошибок, которые я допустил, так что вот новая команда, которая тоже по какой-то причине неверна:

 gcc -c -Wall src/*.c -g -m64 amp;amp; gcc -Iinclude *.o -o bin/debug/main -L/usr/local/lib -lglfw amp;amp; ./bin/debug/main
 

новая ошибка:

 /usr/bin/ld: main.o: in function `main':
/home/basti/dev/OpenGL/src/main.c:26: undefined reference to `glClear'
collect2: error: ld returned 1 exit status
 

Комментарии:

1. Вы, вероятно, хотите -L/usr/local …, с косой чертой после L , если вы на самом деле не имеете в виду каталог в вашем текущем каталоге.

2. … и -l libglfw , вероятно , так и должно быть -lglfw .

Ответ №1:

Я понял это. Благодаря комментариям мне удалось исправить ссылки, и я не понимал, что мне нужно импортировать другие материалы opengl.

В случае, если кто-то ищет ответ на ту же проблему, вот моя команда debug build для sublime text 3: gcc -c -Wall src/*.c -g -m64 amp;amp; gcc -Iinclude *.o -o bin/debug/main -lglfw -lGLU -lGL amp;amp; ./bin/debug/main