我想使用 clang++ 14.0.6 和 mingw ucrt (类似 GCC)和 NOT clang-cl / clang-cpp 生成我的应用程序的 PDB 文件。
未生成 PDB 文件。
clang++ -march=native -O3 -g -gcodeview main.cpp -o filecomp.exe
我在 --help、clang github issues 和现有的 SO 问题中查找信息,但到目前为止没有找到任何答案。
大多数人谈论旧版本的 Clang 解决方案对我不起作用,或者 Clang-cl 甚至 Visual Studio 捆绑的 clang-cl 与我的情况无关。
编译时使用
-g -gcolumn-info -gcodeview
,链接时使用 -fuse-ld=lld -g -Wl,--pdb=
。这会产生 ??.pdb
和 ??.exe
。
您还可以将自定义 PDB 文件路径传递给
-Wl,--pdb=??
。
我不确定
-g
在链接时是否会执行任何操作,但 Clang 不会对此发出警告,因此我更愿意保留它。如果在链接时指定,它会警告 -gcodeview
未使用。
将其添加到您的主 CMakeLists.txt
add_compile_options(-g -gcodeview)
add_link_options(-fuse-ld=lld -g -Wl,--pdb=)