LNK4099 в консольном проекте GLFW с конфигурацией отладки - PullRequest
1 голос
/ 26 ноября 2011

При компиляции консольного проекта win32 с GLFW в Visual Studio 2010 с пакетом обновления 1 (SP1) появляется следующее предупреждение для конфигурации отладки:

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

Конфигурация релиза компилируется. Вероятно, этого все еще недостаточно для решения моей проблемы, но я был бы признателен за объяснение того, почему это может произойти.

Ответы [ 3 ]

1 голос
/ 26 ноября 2011

Я не знаю, о чем говорят предупреждения / ошибки, потому что я вообще не знаю немецкого, но обычно, если что-то компилируется / связывается для выпуска, но не отлаживается (или наоборот), это означает, что вы ссылаетесь нане те библиотеки, которые не работают.Существуют ли специальные библиотеки отладки (.dll или .lib) для библиотеки GLFW?Иногда вам нужно указать VS использовать один для конфигурации релиза вашего проекта и другой для конфигурации отладки вашего проекта.Проверьте что-то вроде glfw.lib и glfw_d.lib, где _d указывает на библиотеку отладки.

Или, если бы вы могли предоставить английский перевод ссылки / предупреждения / ошибки, я мог бы помочь больше.

Удачи!

0 голосов
/ 26 ноября 2011

При сбое при создании проекта с использованием VC ++ лучше обратиться к MSDN с кодом ошибки. В вашем случае http://msdn.microsoft.com/en-en/library/b7whw3f3(v=vs.80).aspx

Предупреждение Linker Tools. LNK4099 PDB «filename» не найден с «объект / библиотека» или «путь»; связывание объекта, как будто нет отладочной информации компоновщик не смог найти ваш файл .pdb. Скопируйте его в каталог который содержит объект / библиотеку.

Чтобы найти имя файла .pdb, связанного с объектным файлом:

  1. Извлечение объектного файла из библиотеки с помощью lib /extract:objectname.obj xyz.lib.

  2. Проверьте путь к файлу .pdb с помощью dumpbin /section:.debug$T. / rawdata objectname.obj.

Вы также можете скомпилировать с / Z7, так что pdb не нужно использовать, или удалите параметр компоновщика / DEBUG, если у вас нет файлов .pdb для объекты, которые вы связываете.

0 голосов
/ 26 ноября 2011

Я уже использовал правильную библиотеку для отладочной конфигурации, но связывал не только с GLFW.lib, но и с GLFWDLL.lib. Вы можете либо скомпилировать GLFW в свой исполняемый файл, используя GLFW.lib, либо использовать DLL, связавшись с GLFWDLL.lib. Я случайно сделал оба.

Дополнительная информация на

4.2 Связь с нужными библиотеками

в текущих Замечания по выпуску GLFW 2.7 .

...