В моей сборке CMake, использующей ниндзя в качестве исходного кода, библиотеки DLL без экспортированных символов всегда повторно связаны, поэтому я использую ключевое слово MODULE
с add_library
для этих DLL как рекомендуется here и в add_library docs.CMake add_library с использованием ключевого слова MODULE не создает файл PDB
Но теперь эти библиотеки DLL не имеют соответствующих файлов PDB, созданных с ними (или, возможно, они генерируются в каталоге объектов с именем по умолчанию, а не в выходном каталоге с именем библиотеки).
PDB_NAME docs означает, что это относится только к исполняемым и разделяемым библиотекам (без упоминания Модулей):
имени выходного для ... .pdb файл, созданных с помощью линкера для исполняемых или разделяемой библиотеки цель.
Как я могу получить файл PDB, созданный в ожидаемом местоположении, с правильным именем библиотеки MODULE?
Мои альтернативы выглядят как: 1. добавьте флаги для конкретной платформы для создания файлов pdb или 2. используйте тип библиотеки SHARED и добавьте фиктивный экспортированный символ в эти библиотеки, чтобы они создавали файлы LIB. –