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

时间:2010-10-23 19:04:18

标签: opengl mingw linker-errors

我有一个项目,我一直在OS X编码,我现在正试图在Windows上构建。我已经设置了MinGW,创建了一个makefile,并且在完成所有编译之后,所有编译都会编译,但是当它到达链接器步骤时,会出现大量错误:

SourceFile.cpp:(.text+0x1809): undefined reference to 'glEnable@4'

链接器命令,省略所有source.o名称非常简单:

g++ -lglu32 -lopengl32

我也尝试过切换链接顺序,并且包含.a文件的完整路径,所有都给了我相同的结果。在编译器步骤中使用_STDCALL_SUPPORTED和_M_IX86宏没有任何区别。

如果它是相关的,我正在使用GLee,我正在直接构建到我的程序中(虽然我也尝试了glew,并得到了相同的结果)。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:1)

原因很简单。事物链接,对于具有以下顺序的东西的链接行: A B C D

B解析A中的外部,C解析A和B中的外部,依此类推。如果D中有外部需要由A解决,你需要在D之后包括A ...哪个IIRC,你可以通过再次添加A来逃避......

A B C D A