使用 MODULE 关键字的 CMake add_library 不会创建 PDB 文件
CMake add_library using the MODULE keyword doesn't create PDB file
在我使用 ninja 作为后端的 CMake 构建中,没有导出符号的 DLL 总是重新链接,因此我按照建议对这些 DLL 使用 MODULE
关键字和 add_library
here and in the add_library docs.
但是现在那些DLL没有用它们创建相应的PDB文件(或者它们可能是在默认名称的对象目录中生成的,而不是在输出目录中的库名称)。
PDB_NAME docs 暗示它仅适用于可执行文件和共享库(未提及模块):
Output name for the ... .pdb file generated by the linker for an
executable or shared library target.
如何获取在预期位置创建的具有模块库正确名称的 PDB 文件?
我回到使用 SHARED 库并添加了一个虚拟符号以从每个这样的库中导出。这样 cmake 文件与所有其他库保持一致。
在我使用 ninja 作为后端的 CMake 构建中,没有导出符号的 DLL 总是重新链接,因此我按照建议对这些 DLL 使用 MODULE
关键字和 add_library
here and in the add_library docs.
但是现在那些DLL没有用它们创建相应的PDB文件(或者它们可能是在默认名称的对象目录中生成的,而不是在输出目录中的库名称)。
PDB_NAME docs 暗示它仅适用于可执行文件和共享库(未提及模块):
Output name for the ... .pdb file generated by the linker for an executable or shared library target.
如何获取在预期位置创建的具有模块库正确名称的 PDB 文件?
我回到使用 SHARED 库并添加了一个虚拟符号以从每个这样的库中导出。这样 cmake 文件与所有其他库保持一致。