2011-11-25 50 views
1

當編譯在Visual Studio 2010 SP1與GLFW一個Win32控制檯項目,我正在爲調試配置以下警告:LNK4099在GLFW控制檯項目與調試配置

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(啓用.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

對於那些想知道德語鏈接器錯誤消息的人:鏈接器抱怨說,它無法爲所提到的庫找到匹配的符號數據庫。 – datenwolf

回答

0

我已經使用正確的lib進行調試配置,但不僅鏈接到GLFW.lib,而且還鏈接到GLFWDLL.lib。您可以將GLFW編譯爲您可以使用GLFW.lib執行,也可以使用鏈接到GLFWDLL.lib的DLL。我不小心做到了。

4.2鏈接附加信息與正確的庫

在當前GLFW 2.7 Release Notes

1

我不知道警告/錯誤是什麼意思,因爲我不知道任何德語,但通常如果某些編譯/鏈接釋放但不調試(反之亦然),這意味着您鏈接到那個不工作的錯誤的庫。 GLFW庫是否有特定的調試庫(.dll或.lib)?有時你必須告訴VS將其中一個用於項目的發佈配置,另一個用於項目的調試配置。檢查glfw.lib和glfw_d.lib,其中_d將指示調試庫。

或者,如果您可以提供鏈接警告/錯誤的英文翻譯,我可能會提供更多幫助。

祝你好運!

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檢查.pdb文件的路徑:.調試$ T /rawdata objectname.obj。

你也可以編譯/ Z7,所以PDB並不需要使用, 或刪除/ DEBUG鏈接器選項,如果你沒有.pdb文件爲 要鏈接的對象。