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

What's the best way to use Cargo to build for multiple platforms using the same source directory?

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

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

...或类似的东西。

我建议查看树外构建。

如果您有这样的项目:

project/
    Cargo.toml

您可以添加一个.cargo目录:

project/
    .cargo/
        config
    Cargo.toml

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

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

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

此外...您将避免将 MBs/GBs 二进制文件同步到您的 Dropbox 帐户。

我接受了 因为它优雅、实用并且利用了 Cargo 的特性...但我意识到它不适用于我的情况,我想在 [=26] 之间同步=] 和 Windows,因为 Windows 路径总是以“C:”开头。

此外,我意识到还有另一种简单的方法可以解决这个问题,尽管它是特定于 Dropbox 的:

Dropbox 有一种方法可以使用文件系统特定的备用流/属性来设置要忽略的文件。可以在这里找到详细信息:

https://help.dropbox.com/en-US/files-folders/restore-delete/ignored-files

(注意:我以前建议使用 Dropbox 的“selective sync”功能来禁用 target 目录的同步,但他们改变了这种工作方式,因此您不能与您的“选择性同步”目录同名的目录。)