【cURL】libcurlをVisual Studio 2019で使う方法

 

libcurlをVisual studio 2019で導入します。
最初はプリコンパイル済みのライブラリを簡単に利用できると考えていましたが、
コンパイル済みのライブラリはエラーが出て使えません。
次にソリューションからIDE上でビルドしましたがこちらもエラーです。
試行錯誤してコンパイル出来るようになりましたので備忘録として公開します。

curlのダウンロード

最初にcurlの最新バージョンのソースをダウンロードします。
Download → Brouse Sourceと進みます。

するとGitHubに飛びますので
Code → Download ZIPでソースコード一式を入手します。

ダウンロードしたZIPファイルを適当なフォルダに解凍します。

Visual Studio 2019を利用したcurlのコンパイル

ソースファイルをコンパイルしてライブラリを作成します。
解凍した中に含まれているソリューション(slnファイル)ではビルドエラーになってしまうのでnmakeでコンパイルします。

開発者用のコマンドプロンプトを起動

windowsメニューのVisual Studio 2019フォルダ内の開発者ツールを起動します。
64bit OSの場合は、"x64 Native Tools Command Prompt for targeting x64″になります。

起動すると以下のコマンドプロンプトが出現します。
x64モードで初期化されていますね。

nmake を利用したcurlのコンパイル

コンフィグレーション用のバッチファイル起動

最初にコンフィグレーション用のバッチファイル(buildconf.bat)を起動します。
バッチファイルは解凍したフォルダの直下にあります。

 

nmake

windows用のビルド環境(makeファイル)はwinbuildフォルダにありますので、その位置まで移動します。

なぜかstaticのコンパイルはうまくいかないので、DLLでコンパイルします。
コマンドは以下、
nmake /f Makefile.vc mode=dll MACHINE=x64

エラーメッセージが出ずに終了すれば完了です。

libcurl

ライブラリはbuilsフォルダに生成されます。
3個のフォルダが生成されるが必要なのはlibcurl-vc-x64-release-dll-ipv6-sspi-schnnel。
ご自分のプロジェクトに組み込んでご利用ください。

最後に

動いてしまえば簡単なのですが、一度嵌まるとなかなか抜け出せなくなります。
僕と同じように悩んでいる方の参考になれば幸いです。