libcurl + openssl 多平臺編譯

curl-7.65.0 爲例linux

Linuxcurl

opensslui

1)進入openssl源碼根路徑,如:/home/user/openssl-master,執行如下命令:./config; make -j8 url

2)此時會在源碼根目錄生成 libcrypto.a libcrypto.so libssl.a libssl.so 等相應的crypto及ssl的靜態庫與動態庫spa

 

libcurldebug

1)進入libcur源碼根路徑,執行如下命令:blog

2)依次執行如下命令ssl

mkdir build; cd build源碼

make ../ -DOPENSSL_ROOT_DIR=/home/user/openssl-master -DBUILD_SHARED_LIBS=true -DCURL_DISABLE_LDAP=true -DCURL_DISABLE_LDAPS=true -DCURL_ZLIB=falseopenssl

make -j8

3)此時會生成在 build/lib 目錄會生成 libcurl.a 靜態庫文件

將如下libcurl.a libssl.a libcrypto.a 或者相應.so拷貝到應用工程上連接

 

Windows

openssl

1)進入openssl源碼根路徑,如:D:\openssl-master

2)新建build.bat 文件,並保存如下內容:

set CURPATH=%~dp0
set TARGET="VC-WIN64A-masm"
set VSCOMNTOOLS="C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat"
set SHARED=

call %VSCOMNTOOLS% x64
mkdir build
cd build

perl ../Configure %TARGET% %SHARED% --prefix="%CURPATH%\build\prefix" --openssldir="%CURPATH%\build\install" --release
perl configdata.pm --dump

nmake build_all_generated
nmake PERL=no-perl
nmake install

cd ..

腳本說明:

    若是編譯32bit的,將TARGET修改成VC-WIN32,call %VSCOMNTOOLS% x64 修改成 call %VSCOMNTOOLS% x86,

    若是編譯debut版本,將--release 修改成 --debug

3)執行 build.bat 文件。此時會在--prefix目錄下生成 crypto、ssl 相應的靜態庫與動態庫,以下

文件說明:

若是使用動態連接,須要拷貝libssl.lib libcrypto.lib libssl-3.dll libcrypto-3.dll 到應用工程

若是使用靜態羅拉,須要拷貝libssl-static.lib libcrypto-static.lib 到應用工程

 

libcurl

1)進入libcur源碼根路徑,執行如下命令:

2)依次執行如下命令

mkdir build; cd build

cmake ../ -G"Visual Studio 15 2017 Win64" -DOPENSSL_ROOT_DIR=D:\openssl-master\_build\ -DBUILD_SHARED_LIBS=true -DCMAKE_USE_OPENSSL=true -DCMAKE_C_FLAGS_RELEASE=/MT

3)此時會在 build\lib\Release目錄(Debug爲build\lib\Debug目錄)生成 libcurl.lib 文件

4)libcurl 沒有把openssl相應的靜態庫連接進去,因此跟linux同樣,其它工程須要使用時,也須要將libssl-static.lib libcrypto-static.lib 以及libcurl.lib 同時指定連接

 

說明:openssl會同時生成靜態庫與動態庫,libcurl根據自身選擇是靜態庫仍是動態庫。此文以靜態爲例,動態庫也相似再也不描述,以建議或疑問歡迎留言

 

 

MacOS

openssl

 由於libcurl推薦使用 darwinssl,openssl未驗證,暫時留空,後續補充。若博友願意分享,留言一下連接地址,在此先謝過

libcurl

1)進入libcur源碼根路徑,執行如下命令:

2)依次執行如下命令

./configure --with-darwinssl --disable-ldap --disable-ldaps --without-zlibmake -j8

相關文章
相關標籤/搜索