問題タブ [lld]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - macOS の Clang で -fuse-ld=lld を使用する
macOS 10.15 で Clang 10 (AppleClang ではない) を使用して-fuse-ld=lld
おり、CMake flags で指定して LLD とリンクしようとしていCMAKE_EXE_LINKER_FLAGS
ます。
ただし、LLD を使用しようとすると、次のエラーが発生します。
これが私のプログラムです:
ここに私の CMakeLists.txt ファイルがあります:
CMake を起動するための私の bash スクリプトは次のとおりです。
c++ - なぜ「clang++ -fuse-ld=lld main.cpp」が機能しないのですか?
と をインストールclang-10
しましたが、リンカとしてlld-10
使用できません。lld
メッセージ:
なぜ機能しlld-10
ないのですか?
ld
ではなく使用する場合lld
:
[root@mine ~]# clang++ -fuse-ld=ld main.cpp
その後、すべてが大丈夫です!
cmake - Apple Silicon上に建物を建てる
私cmake ~/Downloads/lld-11.0.0.src/ -DCMAKE_INSTALL_PREFIX=$HOME/bin/llvm -DCMAKE_PREFIX_PATH=$HOME/bin/llvm -DCMAKE_BUILD_TYPE=Release -G Ninja
は LLVM バージョン 11 から lld をビルドしようとしています(当分の間、LLVM のそれ以降のバージョンまたはマスター バージョンを使用することはできません) ninja install
。「不明な型名 'constexpr'」および「名前空間 'std' に 'underlying_type_t' という名前のテンプレートがありません; 'underlying_type' のことですか?」)。
デフォルトでcmakeが使用しているコンパイラは、システムに付属の(または自動的にインストールされた)Apple Clang 12です。これを機能させるには、他にどのようなフラグを cmake に渡す必要がありますか? または、別のコンパイラを使用する必要がありますか? LLVM 11 は、同じ cmake フラグで正常に構成およびビルドされます。