Я смущаюсь относительно того, какая разница между файлами-компиляторами и компоновщиками PDB соответственно (т.е. в Visual Studio, Project Properties > C/C++ > Output Files > Program Database File Name vs Project Properties > Linker > Debugging). Я попытался найти ответ в сети и до сих пор знаю (может быть, неправильно), что файл PDB компилятором генерируется для файлов obj, а файл PDB компоновщиком создается для двоичного (exe или dll) и используется для отладки.
Если это неверно, объясните разницу. В любом случае, что делать, когда я создаю DLL, где у меня есть возможность выбрать выходной файл PDB для компилятора, а также компоновщик и что делать, когда я создаю файл LIB, где только компилятор генерирует файлы PDB, поскольку не выполняется никакого связывания.
Фон: Библиотеки /DLL используются несколькими проектами, которые затем нуждаются в файлах
PDBдля отладки. В случае файлаlibнет никакой двусмысленности, поскольку создается только одинPDBфайл. Но в случаеDLL, однако, нужны ли мне файлыPDBдля правильной отладки или только тот, который сгенерирован компоновщиком?