rust - 如何使用 openssl 交叉编译 rust 项目?
问题描述
我的项目是用 Rust ( Ubuntu 16.04, CMake 3.5.1
) 编写的。
以前它用作grpcio = "0.4.0"
依赖Cargo.toml
项,我可以成功地交叉编译(即创建一个静态二进制文件)它(使用cross
)。但是,在我将依赖项更改为grpcio = { version = "0.4.2", features = ["openssl"] }
无法再交叉编译后:它说它无法编译grpcio-sys = "0.4.2"
并显示一些 CMake 错误(我无法继续使用0.4.0
,因为它不支持features=["openssl"]
):
- 找不到 OpenSSL 的一些环境标志(即使我安装
sudo apt-get install libssl-dev
了Ubuntu 16.04
. gRPC_PROTOBUF_PROVIDER is "module" but PROTOBUF_ROOT_DIR is wrong
.
解决方案
在尝试编译到 Turris Omnia 路由器(armv71)时,我正在寻找类似的问题。我找到了一个很棒的 docker 镜像来解决我的问题。
看看:https ://github.com/messense/rust-musl-cross 。
推荐阅读
- c# - ASP.NET 不呈现完整布局
- regex - REGEXP_EXTRACT with URL in Hive
- ios - 切出切片做圆圈?iOS 斯威夫特 4
- excel-formula - 如何将2018年6月30日,小时14格式的excel数据转换为2018-04-02T00:00:00需要excel公式
- java - 如何检查 JSON 字段是否为空
- vba - 存在数据的动态邮件合并
- python - Pandas:使用 loc 获取固定数量的行
- python - 如何在 Tkinter 列表框中选择多行?
- c - 实现我自己的“字符串”工具——缺少 GNU 字符串发现的序列
- node.js - 使用 node.js 连接到 nem 测试节点时出错