Popplerの静的ビルド - eightgamedev/Poppler-Siv3D GitHub Wiki

ここではPopplerのvcpkgを使った静的ビルドの方法を説明します。
これによってPopplerをC++で使うためのヘッダファイル、.libファイルを生成することができます。

  1. vcpkg.exeのあるディレクトリに移動する
  2. vcpkgを使ってpopplerをインストールする
vcpkg install poppler:x64-windows-static
  1. その後OpenSiv3Dにリンクしてビルドしたところ以下のエラーが出たので、次の手順でPopplerではzlibを使わずに再インストールします。 (OpenSiv3Dのzlibと競合している?要検証)
エラー LNK2005 deflate は既に zlibd.lib(zlibd1.dll) で定義されています。
  1. vcpkg/ports/poppler/portfile.cmake をテキストエディタで編集する。
    以下のzlibに関する行をコメントアウトする。
    でも本当はこれは不適切な方法かもしれないので正しい方法がありましたら教えてください。
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
    FEATURES
        cairo       WITH_Cairo
        cairo       CMAKE_REQUIRE_FIND_PACKAGE_CAIRO
        curl        ENABLE_LIBCURL
        curl        CMAKE_REQUIRE_FIND_PACKAGE_CURL
        private-api ENABLE_UNSTABLE_API_ABI_HEADERS
-       zlib        ENABLE_ZLIB
-       zlib        CMAKE_REQUIRE_FIND_PACKAGE_ZLIB
+       #zlib        ENABLE_ZLIB
+       #zlib        CMAKE_REQUIRE_FIND_PACKAGE_ZLIB
        glib        ENABLE_GLIB
        glib        CMAKE_REQUIRE_FIND_PACKAGE_GLIB
        qt          ENABLE_QT6
        qt          CMAKE_REQUIRE_FIND_PACKAGE_Qt6
        cms         CMAKE_REQUIRE_FIND_PACKAGE_LCMS2
        cms         ENABLE_LCMS
)
  1. vcpkgを使ってpopplerをアンインストールする。
vcpkg remove  poppler:x64-windows-static
  1. vcpkgを使ってもう一度popplerをインストールする。 (--no-cacheオプションでキャッシュから復元されるのを防ぐ)
vcpkg install poppler:x64-windows-static --no-cache