1

在 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

GLFW.lib(enable.obj)、GLFW.lib(gext.obj)、GLFW.lib(image.obj)、GLFW.lib(init.obj)、GLFW.lib(input.obj)、GLFW 还有 13 个。 lib(stream.obj), GLFW.lib(tga.obj), GLFW.lib(win32_enable.obj), GLFW.lib(win32_fullscreen.obj), GLFW.lib(win32_gext.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

发布配置正在编译。这可能仍然不足以解决我的问题,但我希望能解释为什么会发生这种情况。

4

3 回答 3

1

我不知道警告/错误在说什么,因为我不懂任何德语,但通常如果某些东西编译/链接发布但不调试(反之亦然),这意味着您链接到错误的库对于那个不工作的。GLFW 库是否有特定的调试库(.dll 或 .lib)?有时您必须告诉 VS 为您的项目的发布配置使用一个,而为您的项目的调试配置使用另一个。检查 glfw.lib 和 glfw_d.lib 之类的东西,其中 _d 表示调试库。

或者,如果您可以提供链接警告/错误的英文翻译,我可能会提供更多帮助。

祝你好运!

于 2011-11-25T22:15:11.880 回答
0

我已经在使用正确的库进行调试配置,但不仅链接GLFW.libGLFWDLL.lib. 您可以通过使用将GLFW编译成可执行文件,也GLFW.lib可以通过链接到GLFWDLL.lib. 我不小心两者都做了。

附加信息在

4.2 链接到正确的库

在当前的GLFW 2.7 发行说明中。

于 2011-11-25T23:33:46.500 回答
0

每当使用 VC++ 构建项目失败时,最好参考 MSDN 并提供错误代码。在你的情况下http://msdn.microsoft.com/en-en/library/b7whw3f3(v=vs.80).aspx

链接器工具警告 LNK4099 PDB '文件名' 未在“对象/库”或“路径”中找到;链接对象好像没有调试信息链接器无法找到您的 .pdb 文件。将其复制到包含对象/库的目录中。

要查找与目标文件关联的 .pdb 文件的名称:

  1. 使用 lib /extract:objectname.obj xyz.lib 从库中提取目标文件。

  2. 使用 dumpbin /section:.debug$T /rawdata objectname.obj 检查 .pdb 文件的路径。

您也可以使用 /Z7 进行编译,因此不需要使用 pdb,或者如果您没有链接对象的 .pdb 文件,则删除 /DEBUG 链接器选项。

于 2011-11-26T09:56:51.897 回答