如何在MinGW中修复这些OpenGL链接问题?

如何在MinGW中修复这些OpenGL链接问题?,opengl,mingw,linker-errors,Opengl,Mingw,Linker Errors,我有一个在OSX上编写的项目,我现在正试图在Windows上构建它。我已经设置了MinGW,创建了一个makefile,在大量欺骗之后,所有东西都会编译,但是当它进入链接器步骤时,会出现大量错误,如下所示: SourceFile.cpp:(.text+0x1809): undefined reference to 'glEnable@4' 忽略所有源.o名称的linker命令相当简单: g++ -lglu32 -lopengl32 我也尝试过切换链接顺序,包括.a文件的完整路径,所有这些都给

我有一个在OSX上编写的项目,我现在正试图在Windows上构建它。我已经设置了MinGW,创建了一个makefile,在大量欺骗之后,所有东西都会编译,但是当它进入链接器步骤时,会出现大量错误,如下所示:

SourceFile.cpp:(.text+0x1809): undefined reference to 'glEnable@4'
忽略所有源.o名称的linker命令相当简单:

g++ -lglu32 -lopengl32
我也尝试过切换链接顺序,包括.a文件的完整路径,所有这些都给了我相同的结果。在编译器步骤中使用受支持的_STDCALL_和_M_IX86宏没有任何区别

如果相关的话,我正在使用GLee,我正在直接将其构建到我的程序中(尽管我也尝试了glew,并得到了相同的结果)


任何帮助都将不胜感激。

解决方案非常简单,因为我不完全理解
-lglu32-lopengl32
必须位于.o文件列表的右侧,而不是命令的左侧。

原因很简单。作为“对象链接”,对于具有以下顺序的对象的链接行: A、B、C、D

B在A中解析外部,C在A和B中解析外部,依此类推。如果D中有需要由A解析的外部项,则需要在D之后包含A。。。哪个IIRC,你可以通过再次添加一个

A B C D A