簡體   English   中英

如何在Visual C ++ 2010 Express中鏈接OpenGl?

[英]How to link OpenGl in Visual C++ 2010 Express?

我想使用OpenGl進行圖形編程,並下載了廣受推薦的Neon Helium教程。 但是,當我嘗試構建(我正在使用Visual C ++ Express)時,出現以下錯誤:

錯誤LNK2005:在lesson1.obj中已定義_WinMain @ 16錯誤LNK2005:已在其中定義了“ long _ stdcall WndProc(struct HWND _ *,unsigned int,unsigned int,long)”(?WndProc @@ YGJPAUHWND __ @@ IIJ @ Z) lesson1.obj致命錯誤LNK1169:找到一個或多個乘法定義的符號

我將逐步解釋我所做的事情,以便他人更容易指出我的錯誤。

  1. 下載的GLUT和GLAUX庫。 將glaux.h和glut.h放在C:\\ Program Files \\ Microsoft SDKs \\ Windows \\ v7.0A \\ Include \\ gl
  2. 將glut32.lib和glaux.lib放在C:\\ Program Files \\ Microsoft SDKs \\ Windows \\ v7.0A \\ Lib中
  3. 創建了一個名為DLL的文件夾,其中將glu32.dll,glut.dll,glut32.dll和opengl32.dll放入其中,並將該文件夾添加到我的系統路徑中。
  4. 在VC ++ 2010中創建了一個名為Project 1的新項目。VC ++創建了兩個名為Project1.cpp和stdfax.cpp的源文件。 然后,我添加了另一個名為lesson1的.cpp源文件,並復制了從NeHe中粘貼的lesson1代碼。

現在,當我嘗試構建項目時,它給了我上面的錯誤。 這可能是因為NeHe教程是為VC ++ 6.0編寫的嗎? 我注意到有兩個glut dll文件(glut32.dll和glut.dll)。 這可能是問題嗎? 我應該刪除它們嗎? 此外,也沒有glaux.dll文件。 我是否需要尋找才能解決我的問題? 如果有人可以幫助我解決我的問題,我將不勝感激。 非常感謝所有回答我上一個問題的人

首先,您不應該使用Nehe的教程學習OpenGL。 在我欣賞他過去為OpenGL社區所做的工作的同時,他的教程已過時和過時。 考慮將其用於學習:

http://arcsynthesis.org/gltut/

針對您的問題:您只是在另一個編譯單元中已經定義了一個函數,例如錯誤消息狀態。

您可以將整個代碼上傳到pastebin嗎? 將使幫助更加容易。

但是,請確保您的項目中只有1個WinMain。 VC2010最有可能在模板代碼中為您創建了該功能。

創建項目時,使用稱為“空項目”的選項。

或者,您可以刪除向導創建的文件,然后與編譯器預編譯的頭設置進行斗爭。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM