创建完整的、全局的 clang+llvm 环境

创建完整的、全局的 clang+llvm 环境

将完整的 Clang、libc++ 和 LLVM 设置为默认全局工具链的最简单方法是什么?我尝试构建它的所有方法(在我能想到的大多数配置中)都使 Clang 可以运行,但它没有使用 libc++ 标头,而是默认的 GCC 的 libstd++ 标头,导致不兼容的库代码中出现大量错误。

我希望它开箱即用,而不必做任何魔法或.bashrc将所有这些传递给编译器和链接器。-stdlib=libc++-lc++

答案1

从 LLVM 和 Clang 如何集成到 FreeBSD 基础来看,我认为您需要破解 Clang 的内部结构来lib/Frontend/InitHeaderSearch.cpp为您的系统设置库和头路径()。

默认使用 libc++ 肯定需要更改代码(greplib/Frontend/CompilerInvocation.cpp查找“UseLibcxx”)。您可能还需要破解系统链接器才能更改-lstdc++-lc++

就我个人而言,我建议你只需设置 CC、CXX、CFLAGS、CXXFLAGS 和其他变量即可轻松实现相同结果。它在 FreeBSD 上对我来说运行完美。

相关内容