
將完整的 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 上對我來說完美無缺。