20

llvm-linkリンカーとしてGNUの代わりにLLVMリンカーを使用するようにCMakeに指示する最良の方法は何ldですか?でプロジェクトを構成する場合

CXX=clang++ cmake <args>

デフォルトのリンカーは変更されておらず、残っているように見えますusr/bin/ld(Linuxの場合)。

これは、別のツールチェーンファイルを使用せずに可能ですか?

4

2 に答える 2

13

これは CMake とは無関係であることが判明しましたclang++。デフォルトでシステム リンカを使用します。例えば、

echo "#include <atomic>\n int main() { return 0; }" \
    | clang++ -x c++ -std=c++11 -stdlib=libc++ -

/usr/bin/ldアプリケーションをリンクするために使用します。リンカを に変更するにはllvm-link、最初に LLVM バイト コードを出力してからリンカを呼び出す必要があります。次に例を示します。

echo "#include <atomic>\n int main() { return 0; }" \
    | clang++ -x c++ -std=c++11 -stdlib=libc++ -S -emit-llvm -o - - \
    | llvm-link -o binary -

これはバイパスし/usr/bin/ldます。

于 2012-04-26T02:03:49.563 に答える