好長時間沒寫部落格了,昨天讓同事整合乙個我寫的庫,執行**現openssl rsa加密失敗,網上查到怎麼是交叉編譯庫的問題,但是很難找到解決方法,在這裡我就分享一下解決辦法。
$ ./config no-asm -shared --prefix=path cross_compile=/path/bin/***-linux- cc=gcc
$ make
$ make install
以上執行一般編譯報錯,好多部落格要求刪除 makefile檔案裡面的 -m64,這樣一般編譯可以通過,但是執行是出現
error:0306e06c:bignum routines:bn_mod_inverse:no inverse
有人說是交叉編譯沒有加libz,我整了半天編譯libz,再編譯openssl,沒有用,實際想想也不太可能是這個緣故
有人說是沒有配置平台,預設的平台是linux-x86_64,原因確實是這個,只刪除-m64不徹底的,導致現在這個問題。但是怎麼配置平台呢?
找了其他的部落格,終於找到,還有乙個隱藏的配置方式
./configure
使用以上指令配置平台
$ ./configure linux-generic32 no-asm shared --prefix=path cross_compile=/path/arm-linux-gnueabihf- cc=gcc
$ make
$ make install
這樣就指明了平台,並且不需要修改makefile檔案 交叉編譯openssl動態庫
2.匯入變數值cc,指定編譯鏈 編譯中使用的gcc 執行指令 export cc aarch64 linux gnu gcc 3.生成配置並修改 config no asm shared prefix home ambarella lib openssl no asm 不使用彙編家屬 shared ...
交叉編譯openssl
tar xvf openssl 1.1.1f.orig.tar.gz2.配置configure 用指令碼檔案myconfigure.sh配置 vi myconfigure.s配置如下 cc arm linux gcc config no asm shared no async prefix pwd ...
帶openssl交叉編譯curl庫
參考 注意 交叉編譯時通過 prefix 指定openssl的安裝路徑 絕對路徑 此處我的openssl安裝路徑為 home fangye setup openssl 1.1.1h build arm 編譯完成後可以看到,安裝目錄有如下幾個資料夾 配置命令如下 configure host aarc...