2013-03-31 47 views
0

當我嘗試使用glewInit()運行它時,我的多項目解決方案關閉。儘管如此,這個項目本身也很好。當我評論這一行時,解決方案可以運行。GLEW無法在Visual Studios 2010中工作

我正在編寫一個項目,該項目是Visual Studios 2010中一個大型解決方案的一部分。該項目使用名爲coin3d的第三方圖形庫。我已經下載並安裝/包含了glew,並且沒有鏈接問題,因爲該項目可以毫無錯誤地正常生成。該項目沒有入口點,它生成的DLL只是由解決方案使用。所以我無法查看任何關於它的特定運行時錯誤日誌。它只告訴我,它失敗時找不到項目的dll。

我知道第三方圖形庫創建opengl上下文,因爲我可以使用常規的opengl來渲染一些幾何圖形,而不是屏幕。但只要我運行glewInit(),項目就無法運行(即使它構建)。有沒有辦法檢查和打印上下文是否被創建? (只是要確定)

論GLEW它說的網站:

"On Windows, you also need to define the GLEW_STATIC preprocessor token when 
building a static library or executable, and the GLEW_BUILD preprocessor 
token when building a dll" 

這是否意味着只是把他們變成這樣了項目的預處理器定義? preprocessor definition

我試着讓它只用GLEW_BUILD而不是GLEW_STATIC運行。這沒有什麼區別。有沒有我失蹤的步驟?

+0

我不明白你的問題是什麼。你無法建立GLEW嗎?您是否構建GLEW,但無法成功使用它?你顯示一個項目的截圖;是GLEW項目本身,還是您希望*使用* GLEW的項目? –

+0

確保glew.h包含在gl.h或任何其他OpenGL標頭中。 –

+0

@NicolBolas我認爲我能夠建立良好的。當我構建項目時,沒有錯誤。那是如何建立專線?當我用「glewInit()」這一行運行項目時,它不起作用。截圖是我想直接使用GLEW的項目。 – AAB

回答

0

有沒有辦法檢查並打印上下文是否被創建? (只是要確定)

你可以做到以下幾點:

if (glewInit() != GLEW_OK) 
{ 
    fprintf(stderr, "Failed to initialize GLEW\n"); 
    return -1; 
}