我正在开发一个使用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;并且交叉编译会成功吗?