在Visual Studio 2010 SP1中使用GLFW编译win32控制台项目时,我收到以下警告以进行调试配置:
Warnung 1 warning LNK4099: PDB "vc100.pdb" wurde nicht mit "GLFW.lib(enable.obj)" oder an "C:\path-to-project with-spaces\World\Debug\vc100.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären. C:\path-to-project with-spaces\World\World\GLFW.lib(enable.obj) World
另外13个GLFW.lib(enable.obj),GLFW.lib(glext.obj),GLFW.lib(image.obj),GLFW.lib(init.obj),GLFW.lib(input.obj) ,GLFW.lib(stream.obj),GLFW.lib(tga.obj),GLFW.lib(win32_enable.obj),GLFW.lib(win32_fullscreen.obj),GLFW.lib(win32_glext.obj),GLFW.lib( win32_init.obj),GLFW.lib(win32_time.obj),GLFW.lib(win32_window.obj),GLFW.lib(window.obj)
最后但并非最不重要:
Fehler 15 error LNK1104: Datei "C:\path-to-project with-spaces\World\Debug\World.exe" kann nicht geöffnet werden. C:\path-to-project with-spaces\World\World\LINK World
正在编译发布配置。这可能仍然不足以解决我的问题,但我希望能解释为什么会发生这种情况。
答案 0 :(得分:1)
我不知道警告/错误在说什么,因为我不知道任何德语,但一般来说,如果有什么编译/链接发布而不是调试(反之亦然),这意味着你要链接到错误的库不适用于那个。是否有针对GLFW库的特定调试库(.dll或.lib)?有时您必须告诉VS使用一个用于项目的发布配置,而另一个用于项目的调试配置。检查glfw.lib和glfw_d.lib之类的东西,其中_d表示调试库。
或者,如果您能提供链接警告/错误的英文翻译,我可能会提供更多帮助。
祝你好运!答案 1 :(得分:0)
我已经使用正确的lib进行调试配置,但不仅链接到GLFW.lib
,还链接到GLFWDLL.lib
。您可以使用GLFW.lib
将GLFW编译为可执行文件,也可以通过链接到GLFWDLL.lib
来使用DLL。我不小心做了两件事。
的其他信息
当前GLFW 2.7 Release Notes中的4.2与正确的图书馆链接
。
答案 2 :(得分:0)
每当使用VC ++构建项目失败时,最好使用错误代码查询MSDN。在您的情况下http://msdn.microsoft.com/en-en/library/b7whw3f3(v=vs.80).aspx
链接器工具警告LNK4099未找到PDB“文件名” '对象/图书馆'或'路径';链接对象就像没有调试信息一样 链接器无法找到您的.pdb文件。将其复制到目录中 包含对象/库。
要查找与目标文件关联的.pdb文件的名称:
使用lib从库中提取目标文件 /extract:objectname.obj xyz.lib。
- 醇>
使用dumpbin /section:.debug$T检查.pdb文件的路径 / rawdata objectname.obj。
您也可以使用/ Z7进行编译,因此不需要使用pdb, 如果没有.pdb文件,请删除/ DEBUG链接器选项 你要链接的对象。