1. 程式人生 > >海思(Hi35XX)環境下交叉編譯、安裝openssl-0.9.8e

海思(Hi35XX)環境下交叉編譯、安裝openssl-0.9.8e

開發環境:


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