基于GLEW的程序无法编译

时间:2012-09-14 18:21:22

标签: c++ opengl gcc g++ glew

我正在尝试在我正在创建的程序中使用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]

2 个答案:

答案 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文件)