我用Raspberry Pi的C編寫了一個簡單的加密程序。它成功編譯爲我的X86 CPU與gcc encoder.c -lcrypto -o編碼器(我安裝了libssl-dev),但是當我想交叉編譯它(使用arm-linux-gnueabihf-gcc)時,此錯誤發生:交叉編譯openssl C應用時出錯
$ arm-linux-gnueabihf-gcc encoder.c -lcrypto -o encoder
In file included from ./encoder.c:4:0:
/usr/include/openssl/aes.h:55:33: fatal error: openssl/opensslconf.h: No such file or directory
#include <openssl/opensslconf.h>
^
compilation terminated.
如何交叉編譯openssl C應用程序的Raspberry Pi?
最簡單的方法可能是通過SSH進入RPI並直接操作設備。默認憑證是用戶名***'pi' ***和密碼***'樹莓***'。否則,您需要設置交叉編譯的shell環境。您需要將工具鏈和標題放在路徑上,並且需要設置一些變量,例如'CROSS_COMPILE'。檢出[配置腳本]中的註釋(http://github.com/openssl/openssl/blob/OpenSSL_1_0_2-stable/Configure)。 – jww
謝謝。正如你所建議的那樣,我不能直接將armhf軟件包安裝到x86系統中。這是一個類似的問題和理由:http://superuser.com/questions/1080869/how-do-i-download-a-debian-arm-package-from-another-computer – SAP
你需要直接訪問設備本地構建或您需要交叉編譯。如果您無法通過SSH連接到設備並且無法使用適當的工具鏈進行交叉編譯,那麼您無法爲該設備構建程序。 – jww