⑴ linux下如何編譯安裝openssl模塊請高手詳細解答一下。。。。。。。。。。【】【】
1$ tar zxvf openssl-0.9.8k.tar.gz -C /opt/
2$ ./config --prefix=/usr/local/ssl-0.9.8lk shared zlib-dynamic enable-camellia --prefix=/usr/local/ssl-0.9.8lk
3$ ./config -t
4$ make depend
5$ make
6$ make test
7$ make install
/********************************************************************/
附加: 為了ssl
a:$ /usr/local/ssl-0.9.8lk/ssl
b:$ vi openssl.cnf
default_bits = 1024
改 default_bits = 8192//為了安全最好改為4096以上的數據
c:$ countryName = Country Name (2 letter code)
改 countryName = CN //只能使用2字母的國家代碼
d:$ countryName_default = AU
改countryName_default = Beijing
= Beijing //省份或直轄市名稱
/**********************************************************************/
8$ a)cd /usr/local
b)ln -s ssl-0.9.8lk ssl
9$ a)cd /etc/ld.so.conf.d
b)cp -r /usr/local/ssl-0.9.8lk/lib/ ./
10$ cd /etc
vi ld.so.conf
加入:/usr/local/ssl-0.9.8lk/lib
11$ cd /usr/local/ssl-0.9.8lk/lib
ldconfig
12$ vi /root/.bash_profile
另外一個終端:echo $PATH 把PATH顯示路徑加入到.bash_profile里
例如: PATH=$PATH:/usr/local/ssl-0.9.8lk/bin$HOME/bin
13$ source ~/.bash_profile
14$ cd /usr/local/
15$ ldd /usr/local/ssl-0.9.8lk/bin/openssl
16$ which openssl
17$ openssl version
⑵ 在安裝openssl時,編譯動態鏈接庫的時候,出現了以下錯誤,求大神幫忙解決!!!
編譯OpenSSL不要在CMD下面編譯,應該盡量在Visual Studio自帶的32或64位命令行編譯環境中編譯,要不然會報各種錯誤。
⑶ linux 編譯怎麼連接動態庫
Linux的動態庫文件是以lib字樣開頭的.so文件,編譯鏈接動態庫有兩個要點:一個是需要用-L選項指定動態庫的搜索路徑,這個搜索路徑是需要連接的so文件的大致路徑,比如/usr/openssl/lib;另外還需要用-l(這個是小寫的L)選項指定動態庫的名字,比如下面這條編譯命令:
gcc -o hello hello.c -L/usr/openssl/lib -lcrypto
⑷ linux下編譯android版本的openssl動態庫帶有dwarf調試信息,求教怎麼編譯不帶dwarf調試信息的動態庫
編譯的時候是不能調試的哦,調試只能在編譯好之後,VC中默認DEBUG模式,在編譯時加入調試信息,然後按下F5即可進行調試,F9下斷點,F10單步跳過, F11單步跟入...SHIFT F5停止調試。。
⑸ Linux下編譯安裝openssl1.0.1d時遇到問題怎麼辦
1、讀一下INSTALL文檔x0dx0a2、make clean清理坦清廳一下x0dx0a3、重讓隱新來一次x0dx0a./config --prefix=/usr/local --openssldir=/usr/正喊local/opensslx0dx0amake;make test;make install
⑹ linux中編譯時怎麼連接動態庫
Linux系統中靜態庫是.a文件,編譯鏈接.a文件只需要加上.a文件的完整路徑就可以了,比如:
gcc -o hello hello.c /usr/lib/libm.a
Linux系統的動態庫是.so文件,編譯鏈接動態庫需要用-L參數指定動態庫的搜索路徑,還要用-l(這個是小寫的L)指定動態庫的名字,比如:
gcc -o hello hello.c -L/usr/openssl/lib -lcrypto
⑺ 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.a和libssl.a),並去掉」DIRS=」後面的app和tests。
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
⑻ Linux下的靜態庫和動態庫
靜態庫
可以把它想像成是一些代碼的集合,在可執行程序運行前就已經加到了代碼中,成為了執行程序的一部分,一般是以.a為後綴的文件名,Windows下後綴為.lib。靜態庫的命名也分為三部分,1、前綴:lib,2、庫的名稱:隨意,如lisi,3、後綴:.a。
靜態庫優缺點
上面簡單介紹了靜態庫,那它自然也會有優缺點,這里來介紹下它的優缺點。
優點:1、在最後,函數庫是被打包到應用程序中的,實現函數本地化、定址方便、高效。2、程序在運行的時候,與函數庫沒有關系,移植性更強。
缺點:1、消耗資源較大,每個進程在使用靜態庫的時候,都要復制一份才可以,這也就造成了內存的消耗。2、在程序更新、部署、發布的時候,使用靜態庫相對麻煩,如果一個靜態庫更新了,那它的應用程序都需要重新編譯,再發送給用戶,有的時候可能只是一個小的改動,但對於用戶來說,會導致整個程序重新下載。
動態庫
在程序編譯時不會被連接到目標代碼中,在後期運行時才會載入,不同的應用程序如果調用相同的庫,內存中只有一份共享庫的拷貝,也就避免了空間的浪費問題。一般以.so作為文件後綴名,也分為三部分:1、前綴:lib,2、庫名稱:自定義,3、後綴:.so
動態庫優缺點
優點:1、節省內存2、部署、升級相對方便,只需要更換動態庫,再重新啟動服務即可。
缺點:1、載入速度比靜態庫慢2、移植性較差,需要把所有用到的動態庫進行移植。