2010-10-23 48 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