交叉編譯openssl1.1.1a


​ 交叉編譯openssl1.1.1a的時候遇到的問題,記錄一下,方便下次查找

一、下載源碼

1.打開openssl官網,下載openssl-1.1.1.tar.gz源碼包。

2.執行下面的命令解壓源碼包:

   $ tar xvzf openssl-1.1.1.tar.gz

二、配置openssl

1.執行下面的命令配置工程

   $ ./config no-asm shared no-async --prefix=$(pwd)/install --cross-compile-prefix=arm-linux-

其參數說明如下:

   no-asm:  在交叉編譯過程中不使用匯編代碼代碼加速編譯過程;

   shared: 生成動態連接庫。

   no-async: 交叉編譯工具鏈沒有提供GNU C的ucontext庫

   –prefix=: 安裝路徑

   –cross-compile-prefix=: 交叉編譯工具
  1. 打開Makefile,刪除里面所有的-m64和-m32編譯選項。

三、編譯

1.執行make編譯工程;

2.執行make install,在源文件路徑會生成一個install文件。

自己編譯的時候使用的交叉編譯工具鏈有點特殊,是在每次編譯前運行一個shell來設置編譯所需的環境變量(CC、CXX、AR等),這個時候編譯可能會出問題,需要修改Makefile,注釋以下幾行:

#CC=$(CROSS_COMPILE)gcc      #注釋掉
#CXX=$(CROSS_COMPILE)g++	#注釋掉
CPPFLAGS=
CFLAGS=-Wall -O3
CXXFLAGS=-Wall -O3
LDFLAGS= 
EX_LIBS= 

MAKEDEPEND=$(CROSS_COMPILE)gcc  #不確定是否一定要注釋掉,驗證后再來說明

PERL=/usr/bin/perl

#AR=$(CROSS_COMPILE)ar	#注釋掉
ARFLAGS= r
RANLIB=$(CROSS_COMPILE)ranlib	#不確定是否一定要注釋掉,驗證后再來說明
RC= $(CROSS_COMPILE)windres		#不確定是否一定要注釋掉,驗證后再來說明
RCFLAGS= 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM