rust 在 x86_64 机器上编译 x86 库
rust compile x86 library on x86_64 machine
我有 ubuntu x86_64 个容器并且 cargo build
运行良好。
但我也需要构建 x86 库版本。
据我了解,我需要添加 i686 工具链和目标。
rustup target add i686-unknown-linux-gnu done successful
rustup toolchain install stable-i686-unknown-linux-gnu finished with error
$ rustup toolchain install stable-i686-unknown-linux-gnu
info: syncing channel updates for 'stable-i686-unknown-linux-gnu'
info: latest update on 2018-11-08, rust version 1.30.1 (1433507eb 2018-11-07)
info: downloading component 'rustc'
info: downloading component 'rust-std'
info: downloading component 'cargo'
info: downloading component 'rust-docs'
info: installing component 'rustc'
info: installing component 'rust-std'
info: installing component 'cargo'
info: installing component 'rust-docs'
stable-i686-unknown-linux-gnu installed - (error reading rustc version)
和
$ rustup default stable-i686
info: using existing install for 'stable-i686-unknown-linux-gnu'
info: default toolchain set to 'stable-i686-unknown-linux-gnu'
stable-i686-unknown-linux-gnu unchanged - (error reading rustc version)
我是否遗漏了什么或采取了错误的方法?
无需更改工具链,您必须将目标添加到当前工具链(确保先切换回原始工具链)。
$ rustup target install i686-unknown-linux-gnu
$ cargo build --target=i686-unknown-linux-gnu
当然,您还需要在您的系统上安装 32 位库,例如在 ubuntu 上,您通过
安装它们
$ sudo apt install gcc-multilib
(有关详细信息,请参阅 How to Compile 32-bit Apps on 64-bit Ubuntu?)
我有 ubuntu x86_64 个容器并且 cargo build
运行良好。
但我也需要构建 x86 库版本。
据我了解,我需要添加 i686 工具链和目标。
rustup target add i686-unknown-linux-gnu done successful
rustup toolchain install stable-i686-unknown-linux-gnu finished with error
$ rustup toolchain install stable-i686-unknown-linux-gnu
info: syncing channel updates for 'stable-i686-unknown-linux-gnu'
info: latest update on 2018-11-08, rust version 1.30.1 (1433507eb 2018-11-07)
info: downloading component 'rustc'
info: downloading component 'rust-std'
info: downloading component 'cargo'
info: downloading component 'rust-docs'
info: installing component 'rustc'
info: installing component 'rust-std'
info: installing component 'cargo'
info: installing component 'rust-docs'
stable-i686-unknown-linux-gnu installed - (error reading rustc version)
和
$ rustup default stable-i686
info: using existing install for 'stable-i686-unknown-linux-gnu'
info: default toolchain set to 'stable-i686-unknown-linux-gnu'
stable-i686-unknown-linux-gnu unchanged - (error reading rustc version)
我是否遗漏了什么或采取了错误的方法?
无需更改工具链,您必须将目标添加到当前工具链(确保先切换回原始工具链)。
$ rustup target install i686-unknown-linux-gnu
$ cargo build --target=i686-unknown-linux-gnu
当然,您还需要在您的系统上安装 32 位库,例如在 ubuntu 上,您通过
安装它们$ sudo apt install gcc-multilib
(有关详细信息,请参阅 How to Compile 32-bit Apps on 64-bit Ubuntu?)