从Windows到ARM Linux交叉编译Rust
我正在使用
Windows 10.我想交叉编译一个Rust程序,以便在armv7-unknown-linux-gnueabihf上运行. (armv7-unknown-linux-muscl也可以接受,但似乎没有.)
这是我的步骤: >安装rustup [build] target = "armv7-unknown-linux-gnueabihf" >货物建造 这可以很好地编译所有内容,但是当涉及链接时会出现此错误: error: could not exec the linker `cc`: The system cannot find the file specified. (os error 2) 据我所知,这是因为Rust没有自己的链接器而是使用GCC.显然我需要自己提供并将其添加到./cargo/config文件中: [target.armv7-unknown-linux-gnueabihf] linker = "c:/path/to/my/gcc/cross/compiler" 是对的吗?如果是这样,我可以在地球上下载这样的Windows交叉编译器,为什么不进行生锈安装呢?必须自己编译GCC的交叉编译版本是交叉编译C/C++程序的最大痛苦. Rustup真的不会让这更容易吗? 解决方法
感谢@ Notlikethat的评论:
a)是的,您需要提供自己的GCC交叉编译器. b)你可以得到一个here(选择一个mingw32版本). 只需解压linaro的海湾合作委员会然后将货物指向它: [target.armv7-unknown-linux-gnueabihf] linker = "C:/Users/me/gcc-linaro-5.3.1-2016.05-i686-mingw32_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc.exe" 它似乎工作,即使它是手臂而不是armv7-.我猜连接不依赖于ISA.实际上我还没有运行它,但它构建没有错误! 编辑: 您现在可以使用armv7-unknown-linux-musleabihf来获取实际的可移植二进制文件(即它不依赖于GNU C库,这通常会导致兼容性问题). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 编辑器 – Windows C突出显示
- Windows上的Python 3.4中的Tkinter在退出时不会将内部剪贴板
- batch-file – 如何测试STDIN是批量终端?
- windows – 实时IIS监控
- windows-8 – 在后台任务中访问Javascript Metro应用程序的
- Windows – MongoDB与CouchDB(速度优化)
- 版本控制 – DVCS选择 – Windows有什么好处?
- windows-phone-7 – 非开发工具Windows Phone 7仿真
- xaml – 如何更改特定元素的TextBox占位符文本颜色,而不是全
- installer – 无法使用WIX更新“PATH”环境变量