clang++ 14 不生成PDB文件

问题描述 投票:0回答:2

我的目标

我想使用 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 与我的情况无关。

windows clang llvm pdb-files
2个回答
5
投票

编译时使用

-g -gcolumn-info -gcodeview
,链接时使用
-fuse-ld=lld -g -Wl,--pdb=
。这会产生
??.pdb
??.exe

您还可以将自定义 PDB 文件路径传递给

-Wl,--pdb=??

我不确定

-g
在链接时是否会执行任何操作,但 Clang 不会对此发出警告,因此我更愿意保留它。如果在链接时指定,它会警告
-gcodeview
未使用。


1
投票

将其添加到您的主 CMakeLists.txt

add_compile_options(-g -gcodeview)
add_link_options(-fuse-ld=lld -g -Wl,--pdb=)
© www.soinside.com 2019 - 2024. All rights reserved.