2014-01-10 46 views
0

我嘗試了網絡上出現的所有解決方案,但錯誤仍然存​​在。 下面是錯誤信息:當我在Qt5中使用opengl時有一個鏈接錯誤,關於gluOrtho2D

error LNK2019: unresolved external symbol [email protected] referenced in function "protected: virtual void __thiscall widget::initializeGL(void)" ([email protected]@@MAEXXZ) 

我相信,我已經包括所有的頭文件正確,並鏈接文件都在其正確的位置,而我也在我的文件中添加#define GLUT_DISABLE_ATEXIT_HACK。此外,當我沒有使用Qt時,每件事情都可以。當我將我的代碼放入QGLWidget時,出現錯誤! 更多的,我注意到[email protected]之後的錯誤信息是16,而不是其他的在網上32 ... 爲什麼?如何糾正它們?

+2

您是否包含glu32.lib?鏈接器無法找到QT在其小部件中使用的那個函數的代碼。你似乎已經指定了正確的標題,但沒有指定庫。 –

回答

0

要回答你關於以下的裝飾[email protected]問題,那就是你正在使用的__stdcall調用約定路過時(以字節爲單位)的參數列表的大小。

考慮gluOrtho2D (...)應該採取4個GLdouble參數和GLdouble應該是一個64位類型的東西似乎嚴重錯誤(適當的修飾名是[email protected])。

你有沒有任何機會通過試圖通過/float變量和/或重新定義原型gluOrtho2D (...)任何地方混淆你的編譯器?

相關問題