Включающий.pdb-файлы с библиотекарем в Visual Studio

У меня есть проект, выход которого является библиотекой (.библиотека.) Проект зависит от сторонней библиотеки (также a .библиотека.) Чтобы избежать проектов, построенных поверх моей библиотеки, которые должны беспокоиться об этой зависимости от третьей стороны, я использовал библиотекаря, чтобы включить его в мой (свойства проекта > библиотекарь > общие > дополнительные зависимости).

однако, когда я создаю отдельный исполняемый проект, который ссылается на мою библиотеку, я получаю кучу предупреждений по строкам из:

MyProject.lib (someThirdPartyObjectFile.obj): предупреждение LNK4099: PDB 'vc110.pdb "не найден с" MyProject.lib (someThirdPartyObjectFile.obj) 'или at' vc110.pdb'; связывание объекта, как будто нет отладочной информации

Это означает (Я предполагаю), что я смогу отлаживать любой код, принадлежащий моей библиотеке, но не сторонней библиотеке.

Как я могу поручить Visual Studio также включить содержимое PDB сторонней библиотеки в моя?

2 ответов


статическая библиотека, вероятно, была перемещена, поэтому компилятор не может найти символы из нее. У вас есть несколько вариантов:

  • изменить формат отладки /Z7, который содержит отладочную информацию в код (а /Zi и /ZI поместите его в отдельный файл).
  • измените конфигурацию вывода файла pdb (для VS2005 это было Settings > C++ > Output Files > Program Database File Name, вероятно, аналогичный в VS2010).

вы можете найти более подробную информацию здесь и здесь.


перейти на страницы свойств (Alt+F7) Компоновщик, все параметры, генерировать отладочную информацию, установленную в Положение нет