基于GLEW的程序不编译

GLEW based program does not compile

本文关键字:编译 程序 GLEW 基于      更新时间:2023-10-16

我正试图在我正在创建的程序中使用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文件)的编译器选项中