海思(Hi35XX)環境下交叉編譯、安裝openssl-0.9.8e
阿新 • • 發佈:2019-02-03
開發環境:
Redhat Linux 2.6.25
gcc-3.4.3-uClibc-0.9.28
開發板環境:
Hi3512/Hi3511
linux-2.6.14
移植步驟:
第一步、至官網下載最新的openssl-0.9.8e,解壓縮
第二步、cd進入openssl-0.9.8e目錄
第三步、 閱讀INSTALL說明文件,瞭解大致的安裝過程。避免盲目複製、貼上別人的方法和步驟。
第四步、如果要生成靜態庫,則執行./config no-asm no-shared --prefix=/home/zdh/wifi/ins
執行上面的命令之後,會自動修改Makefile檔案中的一些特定引數。
說明:
no-asm 在交叉編譯過程中不使用匯編程式碼程式碼加速編譯過程。
no-shared 生成靜態連結庫。
--prefix 指定生成lib include bin目錄的路徑,不修改此項則預設為OPENSSLDIR目錄。
而/home/zdh/wifi/ins這個目錄是我自己設定的安裝目錄了。
注意,no-asm no-shared --prefix這三個引數之間要有空格隔開。很多網上的資料都是連在一起,這樣會導致配置不成功。
其實,上面的這些引數的作用,都在INSTALL文件中有說明的。
第五步、還需要手動修改Makefile檔案如下:
CC=arm-hismall-linux-gcc
CFLAG= -O
EX_LIBS=
AR=arm-hismall-linux-ar -rcu
RANLIB= arm-hismall-linux-ranlib
說明:
1、此處的arm-hismall-linux-gcc為海思交叉編譯工具,根據實際情況更改為你自己平臺下的編譯工具即可,比如:arm-linux-gcc。注意AR和RANLIB也要作相應修改。
2、不同平臺的編譯器編譯出來的庫檔案大小可能不一樣。(我要兩種平臺下編譯出來的庫檔案相差0.5M的大小)。
第六步、make
第七步、make install
以上操作成功後會在你指定的目錄下生成四個資料夾,在其中的lib目錄下可找到所需要的 XXX.a靜態庫檔案。
libcrypto.a
libssl.a