vs2019 を使用して libcurl をコンパイルします (https、gzip をサポート)

前文

この記事では、vs2019 を使用して libcurl ライブラリをコンパイルする方法と、https および gzip 関数のサポートを有効にする方法について説明します。https と gzip をサポートするコンパイル済みの libcurl 静的ライブラリ ファイルがあり、直接ダウンロードできます。

libcurl コンパイル済みライブラリおよびヘッダー ファイル - C++ ドキュメント リソース - CSDN ダウンロード

他のバージョンのライブラリ ファイルを自分でコンパイルしたい場合は、次のチュートリアルに従ってコンパイルできます。

1. 使用する必要のあるライブラリのソースコードをダウンロードします。

       1. libcurl ライブラリ: curl-Download

                

                私は通常、圧縮パッケージを zip 形式でダウンロードすることに慣れているので、赤い線のリンクを選択してダウンロードします

        2. openssl ライブラリ: OpenSSL ライブラリとヘッダー ファイル - C++ ドキュメント リソース - CSDN ダウンロード

        3.zlib ライブラリ:コンパイルされた zlib ライブラリとヘッダー ファイル - C++ ドキュメント リソース - CSDN ダウンロード

                ​​​​​​

 2、コンパイルを開始します

        ダウンロードしたライブラリのソースコードをすべてディレクトリにコピーして保存します(下図参照)準備が完了したので、ソースコードのコンパイルを開始しましょう

        1. zlib をコンパイルします。上記のリンクからダウンロードした zlib.zip を解凍し、vs2019 で zlib.vcxproj を開き、[コンパイル] をクリックして zlib.lib ファイルを生成します。

        2.OpenSSL: 上記のリンクからダウンロードした openssl.zip を解凍します。

        3. libcurl をコンパイルします。

                a. ダウンロードしたライブラリ ファイルを解凍し、curl-7.83.1\projects\Windows\VC15\ ディレクトリ内の vs2019 でcurl-all.sln を開きます。

                b. コンパイル オプションを選択します: Lib Release - DLL OpenSSL

                c. プロジェクトのプロパティを右クリックし、[C/C++] -> [全般] -> [追加のインクルード ディレクトリ] を選択し、zlib および OpenSSL ヘッダー ファイル ディレクトリを追加します。

                d. プロジェクトのプロパティ -> C/C++ -> プリプロセッサ -> プリプロセッサ定義に 2 つのオプションを追加します: USE_OPENSSL、USE_ZLIB

                 e. 次のコードを config-win32.h ファイルの最後に追加します。

/* USE_ZLIB on cmd-line */
#ifdef USE_ZLIB
#define HAVE_ZLIB_H            1
#define HAVE_LIBZ              1
#endif

                 f. これらを完了したら、コンパイルを開始できます。コンパイル後、ファイル libcurl.lib が生成されます。使用する必要があるヘッダー ファイルは、ディレクトリcurl-7_75_0\include\curlにあります。

3. その他注意事項

        私たちのプログラムは、コンパイルされた libcurl.lib を使用する過程でいくつかのリンク エラーが発生します。次の lib ライブラリをプログラムに追加できます。これは、libcurl がコンパイル時にサードパーティのライブラリを参照するためです。

#pragma comment(lib, "Crypt32.lib")
#pragma comment(lib, "Ws2_32.lib")
#pragma comment(lib, "Wldap32.lib")
#pragma comment(lib, "libcurl.lib")
#pragma comment(lib, "libssl.lib")
#pragma comment(lib, "libcrypto.lib")
#pragma comment(lib, "zlib.lib")


 

おすすめ

転載: blog.csdn.net/dm569263708/article/details/124727745