2010-10-23 79 views
2

我有一个项目,我一直在编写OS X,我现在试图在Windows上构建。我已经建立了MinGW的,创建一个makefile,并finagling一切的一个很好的协议编译后,但是当它到达连接步骤错误的大量的线沿线的发生:如何在MinGW中修复这些OpenGL链接问题?

SourceFile.cpp:(.text+0x1809): undefined reference to '[email protected]' 

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

g++ -lglu32 -lopengl32 

我也试图与链接顺序切换,并与完整路径包括文件。一,所有给我相同的结果。在编译器步骤中使用_STDCALL_SUPPORTED和_M_IX86宏没有任何区别。如果相关,我正在使用GLee,我直接将其构建到我的程序中(尽管我也尝试过使用glew,并得到了相同的结果)。

任何帮助,将不胜感激。

回答

6

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

1

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

B解析A中的外部数据,C解析A和B中的外部数据,等等。如果在D中有外部需要由A解决的问题,则需要在D之后包括A ...其中IIRC可以通过再次添加A而得到...

A B C D A