私は CMake コンパイルを使用し、{CMAKE_SYSTEM_NAME} を定義しています。そのため、{CMAKE_CROSSCOMPILING} 定義がオンになります。
でも; 最後に、LLVM ツール < llvm-xxx, opt , ... > がネイティブ ホスト用にビルドされていないことがわかりました。
ここで何が恋しいですか?ネイティブ用とターゲット用のすべてを 2 回ビルドする必要があると考えていました。
例: clang-tblgen の 2 つのバージョンをビルドする場合。LLVM は別のターゲット NATIVEClangTableGen (TableGen.cmake で定義) を定義します。これは、clang がビルドされるたびに、native/... の下に clang-table gen を生成します。でも; 同じ動作は LLVM ツールには適用されません。そのようなことはありません、NATIVEXXX 対応するターゲット;
したがって、CMAKE_CROSSCOMPILING が ON のときはいつでも、CMake が llvm-link などの 1 つのターゲットを生成する場合。ネイティブに対して同じターゲットを生成しません。ターゲットがすでに作成されていると考えているためです。
これを機能させる方法はありますか?