2012-12-04 57 views
0

我在Linux上進行交叉編譯,想用MingW32編譯爲Windows,使用Code :: Blocks,按照這個頁面上的說明操作: link,它似乎工作,但問題是隻有一條OpenGL指令:

glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE);

編譯器通知「GL_GENERATE_MIPMAP未在此範圍內聲明」。
我做錯了什麼?
當我使用默認的GNU GCC編譯器爲Linux做同樣的事情時,一切都很好。GL_GENERATE_MIPMAP在交叉編譯時不存在

+1

你在這兩個操作系統上的OpenGL版本是否相同? –

+0

對不起,我已經嚴重提出了我的問題,現在它似乎沒問題。我只在Linux上編譯 – Tom

+1

你在[OpenGL loading library](http://www.opengl.org/wiki/OpenGL_Loading_Library)中使用了什麼? –

回答

2

Windows OpenGL ABI僅涵蓋OpenGL-1.1,這意味着只有通過擴展機制才能達到超越該版本的任何OpenGL功能。

在你的情況下,你只需要一個額外的令牌。 MinGW交叉編譯器應該有一組額外的目錄。在/usr中至少有一個,在/usr/local中有一個(我不是指通常的/usr/include/usr/local/include目錄)。

轉到http://opengl.org/registry抓住glext.h提供的標題並將其放到目錄/usr/local/$MINGW_INCLUDE/GL。然後將此文件添加到包含在程序源代碼中的標題中。這應該給你的令牌。

+0

我已經在我的mingw目錄中有glext.h,但是我用其他方法解決了這個問題 - 我使用了[here]中的glew.h頭文件(http://julianibarz.wordpress.com/2010/ 05/12/glew-1-5-4-mingw32 /),並用glew.h代替了gl.h和glu.h ...現在它正在工作。謝謝。 – Tom