Skip to content

Instantly share code, notes, and snippets.

@YASAI03
Created March 15, 2020 07:27
Show Gist options
  • Save YASAI03/d124e6775d31ebe8a1f848e83c6658a7 to your computer and use it in GitHub Desktop.
Save YASAI03/d124e6775d31ebe8a1f848e83c6658a7 to your computer and use it in GitHub Desktop.

libcurlをstaticlib, WinSSLでビルドした時の手順

環境

  • VisualStudio 2019(MSVC)
  • CMake 3.16.0
  • libcurl 7.68.0

手順1(CMakeによるビルド)

githubからダウンロードして来たソースを元にCmakeを開く。 Configureを押して VisualStudio 16 2019 に設定する。 その後

  • BUILD_CURL_EXE
  • BUILD_SHARED_LIBS
  • BUILD_TESTING

のチェックを外す。

  • CMAKE_USE_WINSSL

のチェックを入れる。

そうしたらConfigureしてGenerateする。


手順2(Visual Studioプロジェクトのビルド)

CURL.slnを開く。
libcurlプロジェクトのプロパティを開き
[構成プロパティ]->[C/C++]->[コード生成]のランタイムライブラリを

  • Debug構成で /MTd
  • Release構成で /MT

にする。 [構成プロパティ]->[C/C++]->[プリプロセッサ]のプリプロセッサの定義に

  • CURL_DISABLE_LDAP

を追加する。(Release,Debug共通)
ビルドするとライブラリができます。


手順3(プロジェクトで使用)

MSVCの場合以下のようなインクルードファイルを作るとよい。

#pragma once
# define CURL_STATICLIB
# include <curl/curl.h>

# ifdef _DEBUG
    # pragma comment (lib, "libcurl-d")
# else //Release, NDEBUG
    # pragma comment (lib, "libcurl")
# endif
# pragma comment (lib, "crypt32")

このファイルをインクルードして使うようにすると楽でよい。

あとは使うプロジェクトにインクルードディレクトリの設定などをするとlibcurlの使用がstaticlibで出来る。


Tips

自分の環境では

  • USE_WIN32_LDAP

のチェックを外すと手順3でビルドが通らなくなりました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment