Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从64位arch linux为raspberry pi`armv7 unknown linux gnueabihf`编译Rust程序_Linux_Rust_Raspberry Pi_Cross Compiling_Rust Cargo - Fatal编程技术网

从64位arch linux为raspberry pi`armv7 unknown linux gnueabihf`编译Rust程序

从64位arch linux为raspberry pi`armv7 unknown linux gnueabihf`编译Rust程序,linux,rust,raspberry-pi,cross-compiling,rust-cargo,Linux,Rust,Raspberry Pi,Cross Compiling,Rust Cargo,我想从我的笔记本电脑上为我的raspberry pi编译一个Rust程序。我在升级pi上的C版本时遇到问题,无法安装rust从那里编译它 我遵循了为rpi交叉编译rust的教程。我可以用这种方式编译简单的程序,没有问题,但是我想要编译的程序使用sqlite和openssl,这就是我遇到问题的地方 我已经安装了lib32dbus,lib32openssl和lib32sqlite。执行导出OPENSSL\u LIB\u DIR=/usr/lib32和导出OPENSSL\u INCLUDE\u DIR

我想从我的笔记本电脑上为我的raspberry pi编译一个Rust程序。我在升级pi上的C版本时遇到问题,无法安装rust从那里编译它

我遵循了为rpi交叉编译rust的教程。我可以用这种方式编译简单的程序,没有问题,但是我想要编译的程序使用sqlite和openssl,这就是我遇到问题的地方

我已经安装了
lib32dbus
lib32openssl
lib32sqlite
。执行
导出OPENSSL\u LIB\u DIR=/usr/lib32
导出OPENSSL\u INCLUDE\u DIR=/usr/INCLUDE/OPENSSL-1.0
修复了OPENSSL,但链接器仍然找不到sqlite LIB的32位版本,并因以下错误退出:

$ PKG_CONFIG_ALLOW_CROSS=1 cargo build --target armv7-unknown-linux-gnueabihf

...

note: /usr/lib/libsqlite3.so: file not recognized: file format not recognized
完全错误

是否有某种
SQLITE\u LIB\u DIR
env变量可以设置?如果没有,如何将链接器指向正确的版本?谢谢


编辑:我现在已经下载并交叉编译了用于arm linux的libsqlite3。现在我只需要知道如何将链接器指向arm版本。

您不能用OpenSSL的每个功能交叉编译您的Rust程序,因为某些版本的OpenSSL不支持(作为供应商的功能),这有助于交叉编译。因此,您可以使用支持此功能的OpenSSL版本,如
OpenSSL={version=“0.10”,features=[“vendored”]}

您正在针对本地libsqlite进行链接。您可以自己使用交叉编译器libsqlite3,也可以使用预编译的libsqlite3。交叉编译后,如何将链接器指向它?“如何将链接器指向它…”在C语言中,您通常使用
--sysroot
。C编译器将为您调用链接器。
sysroot
具有目标所需的所有头和库。我知道车轮是生锈造成的。没有人知道如何在生锈的情况下做同样的事情。当我试图构建一个新的Firefox Geckodriver来修复手臂生锈和货物损坏时。祝你好运。