解决Rust 32位交叉编译中的依赖关系

时间:2017-10-11 16:29:07

标签: rust cross-compiling nanomsg

我正在开发一个使用nanomsg包的项目。箱子取决于nanomsg库本身,这是一个本地库。到目前为止一切都很好。

当我使用以下命令交叉编译项目以定位raspberry pi时,问题出现了:

cargo build --target=armv7-unknown-linux-gnueabihf

尝试将nanomsg库与以下错误链接时,构建失败:

error: linking with `arm-linux-gnueabihf-gcc-5` failed: exit code: 1
...
  = note: /usr/local/lib/libnanomsg.so: file not recognized: File format not recognised
          collect2: error: ld returned 1 exit status

我事先为我的机器配置了这样的交叉编译,并确认它适用于一个简单的hello world项目。

有些搜索错误消息指向64位与库的32位问题。我安装的nanomsg库是64位,源自源码。

有没有办法告诉货物静态链接该库并在运行时解决它?如果我在我的机器上安装了一个32位版本的库,那么货物就可以简单地“捡起来”#34;并且交叉编译会成功吗?

0 个答案:

没有答案