2

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

4

2 回答 2

4

试试这个:

gcc -g -DGLEW_STATIC -c glew.c -o glew.o

这应该防止 DLL 导入/导出装饰被添加到声明中。

于 2012-09-14T18:42:18.047 回答
-2

您不想将库源文件添加到项目的编译器输入中。您应该将库添加到链接器输入列表中;静态 (libglew.a) 或动态 (-lglew)。

即要么

gcc -o … -lglew

或者

gcc -o … libglew.a

静态链接 GLEW 时,您必须添加-DGLEW_STATIC生成编译单元(.o 文件)的编译器选项

于 2012-09-14T19:48:54.283 回答