我正在尝试在我正在创建的程序中使用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]
答案 0 :(得分:4)
试试这个:
gcc -g -DGLEW_STATIC -c glew.c -o glew.o
这应该可以防止DLL导入/导出装饰被添加到声明中。
答案 1 :(得分:-2)
您不希望将库源文件添加到项目的编译器输入中。您应该将库添加到链接器输入列表中;静态(libglew.a)或动态(-lglew)。
即。任
gcc -o … -lglew
或
gcc -o … libglew.a
静态链接GLEW时,必须将-DGLEW_STATIC
添加到生成编译单元的编译器选项(.o文件)