Cargo: デフォルトの `--target`を設定する方法を追加します

作成日 2016年01月30日  ·  3コメント  ·  ソース: rust-lang/cargo

たとえば、プロジェクトで常にcargo build --target=thumbv6m-none-eabiを使用してクロスコンパイルする場合です。 この機能を使用すると、貨物構成ファイルにキーと値のペアを追加できます。

# .cargo/config
[target]
default = "thumbv6m-none-eabi"

これにより、 cargo buildを呼び出すだけで、プロジェクトをthumbv6m-none-eabiクロスコンパイルできます。 これはcargo docも拡張されます。

もともとここで報告され

最も参考になるコメント

これは私にはかなり合理的なように思えますが、プロジェクトごとのことである可能性が高いため、Cargo.tomlに含める必要があると言っても過言ではありません。

全てのコメント3件

これは私にはかなり合理的なように思えますが、プロジェクトごとのことである可能性が高いため、Cargo.tomlに含める必要があると言っても過言ではありません。

プロジェクト設定にすることの1つの欠点(?)は、依存関係に対して設定が常に無視されることです。 例:プロジェクトPがクレートDに依存していて、DがTをデフォルトのターゲットとして設定している場合、Dは常にPに選択したターゲット用にコンパイルされるため、その設定は常に無視されます。

.cargo / configを使用する利点の1つは、ローカルで複数のクレートを開発している場合、次のような設定ができることです。

$ tree .
my-RTOS-project
├── .cargo
│   └── config
├── allocator
│   └── (...)
├── hal
│   └── (...)
├── RusTOS
│   └── (...)
└── scheduler
    └── (...)

そして、あるクレートディレクトリから別のクレートディレクトリにジャンプして、 cargo testます。 ある時点で、.cargo / configの1行を編集して、別のターゲットのクレートのテストを開始できます。

ああ、確かに! これはhttps://github.com/rust-lang/cargo/issues/2122の範囲にいくらか当てはまりますが、それはマイナス面ではないはずですが、そこでも行うべき設計作業がまだいくつかあります。

このページは役に立ちましたか?
0 / 5 - 0 評価