Файлы PDB с библиотеками в Visual Studio 10

При создании статической библиотеки (.LIB) в MS Visual Studio 10 с отладочной информацией,
.PDB всегда называется vc100.pdb,
(в отличие от строительства .DLLгде отладочная информация [MyProjectName].pdb)

Это проблема для меня, потому что я пытаюсь скопировать несколько разных библиотек (и их символы отладки) в каталог "PublishedLibraries", но все vc100.pdb имена явно сталкиваются.

Я уверен, что я могу изменить имена каждого .PDB чтобы соответствовать его .LIB, но для меня больший вопрос Зачем Visual Studio думает vc100.pdb это лучшее имя, чем projectA.pdb??
Как нам работать с отладочной информацией из нескольких библиотек, если все имена конфликтуют?

13

Решение

Если вы используете / Z7 (вместо / ZI или / Zi) [в пользовательском интерфейсе C / C ++ -> General -> Debug Information Format], то отладочная информация внедряется в сам файл lib, а не в отдельный pdb, что означает вам не нужно беспокоиться об одном и том же имени.

Когда вы создадите свой окончательный исполняемый файл (.exe или .dll), вы получите объединенный pdb из всех маленьких встроенных pdb.

увидеть этот вопрос для получения дополнительной информации

Я всегда решал эту проблему в своей команде, так как вы не можете потерять отладочную информацию в процессе сборки. Это несколько раздувает libs [но не больше, чем наличие lib и pdb], но, поскольку вы, вероятно, не отправляете libs, вам не стоит сильно беспокоиться об этом.

20

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]