1. 程式人生 > >linux下openssl生成靜態庫

linux下openssl生成靜態庫

下載原始碼

原始碼編譯

解壓之後,進入原始碼目錄openssl-1.1.0f,執行如下命令。因為只需要編譯靜態庫,也沒有特殊要求,所以使用的編譯選項配置很簡單:

./config -fPIC no-shared

make

其中,-fPIC:指示生成位置無關的程式碼,這個選項是在把openssl生成的靜態庫連結到動態庫的時候提示錯誤新增的;no-shared:指示生成靜態庫。

最終在當前目錄下會編譯出libssl.a和libcrypto.a兩個庫檔案,在開發的時候只需要包含頭件並連結這兩個庫就可以了。

開發使用

有一點需要注意的是編譯生成的庫libssl.a和libcrypto.a存在依賴關係,要把libssl.a放在libcrypto.a前面,不然可能出現未定義的錯誤。庫的標頭檔案在openssl-1.1.0f/include/openssl目錄中。