这似乎是一个简单的问题,但需要花费大量时间才能弄明白......
在里面 构建LLVM + Clang的说明, 一个 发布 和a 调试 提到配置。调试版本是:
要么
- 调试您尝试使用Clang + LLVM构建的应用程序?
我最初假设前者,但后来(1)它是默认的,(2)我找到了多组指令,指导我们构建调试模式,(3)我假设它会引起兴趣对于相对较小比例的用户 - 大多数人都希望这样 使用 Clang + LLVM,没有深入研究优化编译器设计的复杂性。
我打算只使用Clang代替GCC来利用我所听到的更好的错误信息,但我 将 需要调试它在GDB下生成的程序。 Clang的发布版本是否足够?
(注意Debug版本 是几GB 并且可能需要很长时间才能构建,所以我宁愿找出简单的方法。)
加, 在同一页面上,它说我应该指明 ONLY_TOOLS="tools you need"
,但哪个列表可供选择?
前者是正确的 - 如果要调试编译器,只需要在调试模式下构建LLVM和Clang。如果要调试生成的应用程序,则需要使用调试符号对其进行编译 - 即通过 -g
在构建程序时向Clang标记 - 无论在何种模式下构建LLVM和Clang,都会启用它。
因此,根据您的需要,您应该在发布模式下进行编译。
至于你的问题 - 为什么这是默认的 - 我猜它是因为假设如果你想要运行它,你只需要获得一个 预先构建的二进制文件 而不是下载和构建源代码。
另外,关于你潜入的最后一个问题 - 我相信它指的是来自的工具 这个LLVM工具列表。
前者是正确的 - 如果要调试编译器,只需要在调试模式下构建LLVM和Clang。如果要调试生成的应用程序,则需要使用调试符号对其进行编译 - 即通过 -g
在构建程序时向Clang标记 - 无论在何种模式下构建LLVM和Clang,都会启用它。
因此,根据您的需要,您应该在发布模式下进行编译。
至于你的问题 - 为什么这是默认的 - 我猜它是因为假设如果你想要运行它,你只需要获得一个 预先构建的二进制文件 而不是下载和构建源代码。
另外,关于你潜入的最后一个问题 - 我相信它指的是来自的工具 这个LLVM工具列表。