openssl靜態編譯和動態編譯

1、靜態編譯

./Configure linux-elf-arm -DB_ENDIAN linux:'armeb-linux-gcc -mbig-endian' --prefix=$(pwd)/OpenSSL

a openssl-0.9.8d/crypto/bio/bss_file.c中以下代碼註釋掉

//#ifndef _FILE_OFFSET_BITS

//#define _FILE_OFFSET_BITS 64

//#endif

#endif

       b 報錯沒有timeb.h時,在報錯的.c文件中#undef TIMEB

c 去掉openssl頂層Makefile中“build_all:”後面的 build_app build_test (我們要的只是兩個靜態庫libcrypto.alibssl.a),並去掉”DIRS=”後面的apptests

       make && make install

 

2、動態庫

1.config:

   #config no-asm --prefix=../OpenSSL

2.改Makefile

   1) CC= gcc 改成 CC = armeb-linux-gcc;

   2) 刪除 CFLAG= 中的 “-march=pentium”;

   3) AR=ar $(ARFLAGS) r 改爲 AR=armeb-linux-ar $(ARFLAGS) r;

   4) ARD=ar $(ARFLAGS) d 改爲 ARD=armeb-linux-ar $(ARFLAGS) d;

   5)RANLIB= /usr/bin/ranlib 改爲 RANLIB= armeb-linux-ranlib;

3.編譯

   #make

   #make install

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章