2010-05-16 77 views
1

這個link.exe命令行有什麼問題嗎? OpenGL32.lib和Glu32.lib可在兩個LIBPATH目錄中找到。圖書館有可能不兼容嗎?有沒有辦法讓link.exe說,而不是無法解析的外部符號?谷歌搜索表明,這個錯誤通常意味着圖書館沒有找到,但他們在那裏。無法鏈接到opengl庫? DOS/MSVC

E:\mvs90\VC\BIN\link.exe /DLL /nologo /INCREMENTAL:no /DEBUG /pdb:None /LIBPATH:E:\code\python\python\py26\libs /LIBPATH:E:\code\python\python\py26\PCbuild 
opengl32.lib glu32.lib 
/EXPORT:init_rabbyt build\temp.win32-2.6-pydebug\Debug\rabbyt/rabbyt._rabbyt.obj 
/OUT:build\lib.win32-2.6-pydebug\rabbyt\_rabbyt_d.pyd 
/IMPLIB:build\temp.win32-2.6-pydebug\Debug\rabbyt\_rabbyt_d.lib 
/MANIFESTFILE:build\temp.win32-2.6-pydebug\Debug\rabbyt\_rabbyt_d.pyd.manifest 

    Creating library build\temp.win32-2.6-pydebug\Debug\rabbyt\_rabbyt_d.lib and 
object build\temp.win32-2.6-pydebug\Debug\rabbyt\_rabbyt_d.exp 
rabbyt._rabbyt.obj : error LNK2019: unresolved external symbol __imp__glOrtho re 
ferenced in function ___pyx_f_6rabbyt_7_rabbyt_set_viewport 

Directory of E:\code\python\python\py26\libs 
09/27/2007 02:20 PM   12,672 GlU32.Lib 
09/27/2007 02:20 PM   76,924 OpenGL32.Lib 
+1

這與「DOS」有什麼關係?你的意思是「命令行」? – 2010-05-16 05:56:22

+0

我很確定DOS沒有爲它編寫的OpenGL庫,它也不能與視頻卡接口來編譯着色器等。 – amphetamachine 2010-05-16 06:02:41

+0

是的,我的意思是DOS命令行vs cygwin我不知道這是否清楚從我粘貼的 – Mark 2010-05-16 06:04:10

回答

0

這很可能給出Cygwin和MSYS您的成功,這些都是Cygwin的/海灣合作委員會或MinGW的/ GCC出口庫而不是MSVC出口庫。它們不會被Microsoft的鏈接器認可爲有效,並且將被忽略。

正確的OpenGL32.lib和Glu32.lib文件是Windows SDK的一部分。對於VS2008 SDK,它位於C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Lib(您的安裝可能會有所不同)。

Glaux.lib顯然已被棄用,不再包含在Windows SDK中。如果需要,下載並安裝較舊的VS2005 SDK以獲取標題和導出庫。當VS2008 SDK位於「C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A」時,舊SDK將安裝在「C:\ Program Files \ Microsoft Visual Studio 8 \ VC \ PlatformSDK」中,您可以簡單地複製必要的文件到較新的SDK中的相應文件夾。

你當然可以用VS2005或更早的版本構建而不是混淆SDK。