使用同一源目录使用Cargo为多个平台构建的最佳方法是什么?

问题描述 投票:1回答:2

我经常在台式机和笔记本电脑之间切换,它们有不同的操作系统。为了协调,我喜欢将我的开发/项目目录保存在Dropbox中。

Cargo将尝试从两个操作系统构建到同一目录(即target/debug)。理想情况下,我想要一种允许我在每个平台上自动构建特定于平台的构建目录的方法:

  • target/x86_64-apple-darwin
  • target/x86_64-pc-windows-msvc
  • target/x86_64-unknown-linux-gnu

......或类似的东西。

rust rust-cargo
2个回答
5
投票

我建议看一下树外构建。

如果您有一个项目,例如:

project/
    Cargo.toml

您可以添加.cargo目录:

project/
    .cargo/
        config
    Cargo.toml

并将以下内容放入config文件中:

[build]
target-dir = "/tmp/build/dir"

只要路径对两个操作系统都有效,那么每个操作系统都将指向本地构建。

另外......您将避免将MB / GB的二进制文件同步到您的Dropbox帐户。


1
投票

我接受了Matthieu M.'s suggestion,因为它优雅,实用,并且充分利用了Cargo的功能......但我意识到还有另一种简单的方法来解决这个问题,尽管它是特定于Dropbox的。

您可以使用Dropbox的“selective sync”功能来禁用target目录的同步!

© www.soinside.com 2019 - 2024. All rights reserved.