2012-08-13 67 views
0

我試圖使用glload從非官方OpenGL的SDK,但我得到LNK錯誤:glload和LNK錯誤2010

1> LINK : C:\Users\T\documents\visual studio 2010\Projects\testi\Debug\testi.exe not found or not built by the last incremental link; performing full link 
1>glloadD.lib(gll_gl_ext.obj) : error LNK2019: unresolved external symbol [email protected] referenced in function _WinGetProcAddress 
1>glloadD.lib(wgll_ext.obj) : error LNK2001: unresolved external symbol [email protected] 
1>C:\Users\T\documents\visual studio 2010\Projects\testi\Debug\testi.exe : fatal error LNK1120: 1 unresolved externals 


#include <glload/gl_all.h> 
#include <glload/gll.hpp> 

void main() 
{ 
    glload::LoadFunctions(); 
} 

鏈接/附加依賴:glloadD .lib 問題在哪裏?

編輯1:

首先,我用Premake生成構建文件的VS2010。然後我建立了所有圖書館。在我的項目中,我爲這些庫設置了其他包含目錄,附加庫目錄和附加依賴項。我想從這個頁面運行一個示例:link,但是我在加載opengl函數之前忘記創建OpenGL上下文。我並不需要一個窗口,在這個項目中,所以我就叫glutInit,但我在0x5bfed398(msvcr100d.dll)得到一個未處理的異常

#include <glload/gl_all.h> 
#include <glload/gll.hpp> 
#include <freeglut/freeglut.h> 

int main(int argc, char* argv[]) 
{ 
    glutInit(&argc, argv); 
    glload::LoadFunctions(); 
} 

編輯2:

glload前調用glutCreateWindow: :LoadFunctions似乎是必要的。代碼如下:

#include <glload/gl_all.h> 
#include <glload/gll.hpp> 
#include <freeglut/freeglut.h> 

int main(int argc, char* argv[]) 
{ 
    glutInit(&argc, argv); 
    glutCreateWindow(""); 
    glload::LoadFunctions(); 
} 
+1

我們將需要更多的東西。就像完全記錄你如何構建所有東西,鏈接到哪些庫等一樣。而且,即使是編譯和鏈接,你的源代碼也不會做任何事情,因爲在你之前你不能加載OpenGL函數已經創建了一個OpenGL上下文。 – 2012-08-13 17:55:09

+0

順便說一句,當你發現你自己的問題的答案時,通常習慣於把它寫成問題的實際答案*而不是作爲問題的附錄。回答你自己的問題是可以的。堆棧溢出不是一個論壇;這是一個問答網站,所以我們喜歡有問題的答案。 – 2012-08-25 11:41:55

回答

0

解決方案是在初始化GlLoad之前創建工作環境。每次我用GLSDK啓動OpenGL項目時,都遇到過這個問題。