2010-05-16 75 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。