Я пытаюсь использовать GLEW в программе, которую я создаю, но мой компилятор не скомпилирует ее, вместо этого он выдает тонну ошибок в этой строке gcc -g -c glew.c -o glew.o
, Это мое Makefile:
MY_LIBS =
glewex: glew.o main.o glew.h
g++ main.o glew.o glew.h -o glewex $(MY_LIBS)
glew.o: glew.c
gcc -g -c glew.c -o glew.o
main.o: main.cpp
g++ -g -c main.cpp -o main.o
Он просто выводит сотни ошибок, которые выглядят так:
__glewActiveTexture объявлен без атрибута dllimport: предыдущий импорт игнорируется [-Wattributes]
Попробуй это:
gcc -g -DGLEW_STATIC -c glew.c -o glew.o
Это должно предотвратить добавление декораций импорта / экспорта DLL к объявлениям.
Вы не хотите добавлять исходные файлы библиотеки во входные данные компилятора вашего проекта. Вы должны добавить библиотеку в список входов компоновщика; либо статически (libglew.a), либо динамически (-lglew).
То есть или
gcc -o … -lglew
или же
gcc -o … libglew.a
При статической привязке GLEW необходимо добавить -DGLEW_STATIC
к параметрам компилятора, генерирующим модули компиляции (файлы .o)