Подтвердить что ты не робот

Файлы 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?
Как мы планируем работать с Debug Info из нескольких библиотек, если конфликтуют все имена?

4b9b3361

Ответ 1

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

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

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

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