Popplerの静的ビルド - eightgamedev/Poppler-Siv3D GitHub Wiki
ここではPopplerのvcpkgを使った静的ビルドの方法を説明します。
これによってPopplerをC++で使うためのヘッダファイル、.libファイルを生成することができます。
- vcpkg.exeのあるディレクトリに移動する
- vcpkgを使ってpopplerをインストールする
vcpkg install poppler:x64-windows-static
- その後OpenSiv3Dにリンクしてビルドしたところ以下のエラーが出たので、次の手順でPopplerではzlibを使わずに再インストールします。 (OpenSiv3Dのzlibと競合している?要検証)
エラー LNK2005 deflate は既に zlibd.lib(zlibd1.dll) で定義されています。
- 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
)
- vcpkgを使ってpopplerをアンインストールする。
vcpkg remove poppler:x64-windows-static
- vcpkgを使ってもう一度popplerをインストールする。 (--no-cacheオプションでキャッシュから復元されるのを防ぐ)
vcpkg install poppler:x64-windows-static --no-cache