cpp-io2d / P0267_RefImpl

Reference Implementations of P0267, the proposed 2D graphics API for ISO C++
Other
313 stars 115 forks source link

Windows 11, Visual Studio 2022 CE, NOTFOUND CHARSET_LIB , EXPAT_LIB, ICONV_LIB #148

Open fjp opened 2 years ago

fjp commented 2 years ago

The build steps do not seem to work on Windows 11 with Visual Studio 2022. I installed and integrated vcpkg and installed all dependencies (win32 and win64) but I get the following errors:

C:\Users\fjp\git\P0267_RefImpl\Debug>cmake -G "Visual Studio 17 2022" --config Debug "-DCMAKE_BUILD_TYPE=Debug" "-DCMAKE_TOOLCHAIN_FILE=c:/tools/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows" ../.
CMake Error: Unknown argument --config
CMake Error: Run 'cmake --help' for all supported options.

Trying without --config Debug:

C:\Users\fjp\git\P0267_RefImpl\Debug>cmake -G "Visual Studio 17 2022" "-DCMAKE_BUILD_TYPE=Debug" "-DCMAKE_TOOLCHAIN_FILE=c:/tools/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows" ../.
Default IO2D backend was not specified, choosing automatically...
Found Windows, using CAIRO_WIN32.
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
Skipping the Maps example since Boost was not found
Skipping the SVG example since Boost was not found
-- Configuring done
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CHARSET_LIB
    linked by target "io2d_cairo_win32" in directory C:/Users/fjp/git/P0267_RefImpl/P0267_RefImpl/P0267_RefImpl/cairo/win32
EXPAT_LIB
    linked by target "io2d_cairo_win32" in directory C:/Users/fjp/git/P0267_RefImpl/P0267_RefImpl/P0267_RefImpl/cairo/win32
ICONV_LIB
    linked by target "io2d_cairo_win32" in directory C:/Users/fjp/git/P0267_RefImpl/P0267_RefImpl/P0267_RefImpl/cairo/win32

-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_TOOLCHAIN_FILE

CMake Generate step failed.  Build files cannot be regenerated correctly.
vckpg list output ```console PS C:\dev\vcpkg> .\vcpkg.exe list brotli:x64-windows 1.0.9#2 a generic-purpose lossless compression algorithm... brotli:x86-windows 1.0.9#2 a generic-purpose lossless compression algorithm... bzip2:x64-windows 1.0.8#2 bzip2 is a freely available, patent free, high-q... bzip2:x86-windows 1.0.8#2 bzip2 is a freely available, patent free, high-q... cairo:x64-windows 1.17.4#3 Cairo is a 2D graphics library with support for ... cairo:x86-windows 1.17.4#3 Cairo is a 2D graphics library with support for ... cairo[fontconfig]:x64-windows build with fontconfig cairo[fontconfig]:x86-windows build with fontconfig cairo[freetype]:x64-windows use the freetype font backend cairo[freetype]:x86-windows use the freetype font backend dirent:x64-windows 1.23.2#1 Dirent is a C/C++ programming interface that all... dirent:x86-windows 1.23.2#1 Dirent is a C/C++ programming interface that all... expat:x64-windows 2.4.1 XML parser library written in C expat:x86-windows 2.4.1 XML parser library written in C fontconfig:x64-windows 2.13.94#5 Library for configuring and customizing font acc... fontconfig:x86-windows 2.13.94#5 Library for configuring and customizing font acc... freetype:x64-windows 2.11.1 A library to render fonts. freetype:x86-windows 2.11.1 A library to render fonts. freetype[brotli]:x64-windows Support decompression of WOFF2 streams freetype[brotli]:x86-windows Support decompression of WOFF2 streams freetype[bzip2]:x64-windows Support bzip2 compressed fonts. freetype[bzip2]:x86-windows Support bzip2 compressed fonts. freetype[png]:x64-windows Support PNG compressed OpenType embedded bitmaps. freetype[png]:x86-windows Support PNG compressed OpenType embedded bitmaps. freetype[zlib]:x64-windows Use zlib instead of internal library for DEFLATE freetype[zlib]:x86-windows Use zlib instead of internal library for DEFLATE gettext:x64-windows 0.21#9 GNU gettext provides libintl and a set of tools ... gettext:x86-windows 0.21#9 GNU gettext provides libintl and a set of tools ... graphicsmagick:x64-windows 1.3.37#1 Image processing library graphicsmagick:x86-windows 1.3.37#1 Image processing library io2d:x86-windows 2020-09-14#3 a lightweight, cross platform drawing library json-c:x64-windows 2019-09-10#2 A JSON implementation in C json-c:x86-windows 2019-09-10#2 A JSON implementation in C libiconv:x64-windows 1.16#11 GNU Unicode text conversion libiconv:x86-windows 1.16#11 GNU Unicode text conversion libjpeg-turbo:x64-windows 2.1.2 libjpeg-turbo is a JPEG image codec that uses SI... libjpeg-turbo:x86-windows 2.1.2 libjpeg-turbo is a JPEG image codec that uses SI... liblzma:x64-windows 5.2.5#4 Compression library with an API similar to that ... liblzma:x86-windows 5.2.5#4 Compression library with an API similar to that ... libpng:x64-windows 1.6.37#16 libpng is a library implementing an interface fo... libpng:x86-windows 1.6.37#16 libpng is a library implementing an interface fo... libwebp:x64-windows 1.2.1 WebP codec: library to encode and decode images ... libwebp:x86-windows 1.2.1 WebP codec: library to encode and decode images ... libwebp[nearlossless]:x64-windows Enable near-lossless encoding libwebp[nearlossless]:x86-windows Enable near-lossless encoding libwebp[simd]:x64-windows Enable any SIMD optimization. libwebp[simd]:x86-windows Enable any SIMD optimization. libwebp[unicode]:x64-windows Build Unicode executables. (Adds definition UNIC... libwebp[unicode]:x86-windows Build Unicode executables. (Adds definition UNIC... lzo:x64-windows 2.10#7 Lossless data compression library lzo:x86-windows 2.10#7 Lossless data compression library pixman:x64-windows 0.40.0#2 Pixman is a low-level software library for pixel... pixman:x86-windows 0.40.0#2 Pixman is a low-level software library for pixel... pthread:x64-windows 3.0.0#1 empty package, linking to other port pthread:x86-windows 3.0.0#1 empty package, linking to other port pthreads:x64-windows 3.0.0#10 pthreads for windows pthreads:x86-windows 3.0.0#10 pthreads for windows tiff:x64-windows 4.3.0#5 A library that supports the manipulation of TIFF... tiff:x86-windows 4.3.0#5 A library that supports the manipulation of TIFF... tiff[jpeg]:x64-windows Support JPEG compression in TIFF image files tiff[jpeg]:x86-windows Support JPEG compression in TIFF image files tiff[lzma]:x64-windows Support LZMA compression in TIFF image files tiff[lzma]:x86-windows Support LZMA compression in TIFF image files tiff[zip]:x64-windows Support ZIP/deflate compression in TIFF image files tiff[zip]:x86-windows Support ZIP/deflate compression in TIFF image files vcpkg-cmake-config:x64-windows 2022-01-30 vcpkg-cmake:x64-windows 2022-01-19 vcpkg-tool-meson:x64-windows 0.60.2#1 Meson build system zlib:x64-windows 1.2.11#13 A compression library zlib:x86-windows 1.2.11#13 A compression library ```

Any ideas what I am missing?

BinaryBandit81 commented 2 years ago

Not sure if it helps anymore, but I got rid of these errors by using the CMakeSettings.json in VS. In the configurations part, I added this (x86 config): "variables": [ { "name": "CAIRO_DLL", "value": "C:/dev/vcpkg/packages/cairo_x86-windows/debug/bin/cairo-2.dll", "type": "FILEPATH" }, { "name": "CHARSET_LIB", "value": "c:/dev/vcpkg/installed/x86-windows/debug/lib/charset.lib", "type": "FILEPATH" }, { "name": "EXPAT_LIB", "value": "c:/dev/vcpkg/packages/expat_x86-windows/liblibexpat.lib", "type": "FILEPATH" }, { "name": "ICONV_LIB", "value": "c:/dev/vcpkg/installed/x86-windows/debug/lib/iconv.lib", "type": "FILEPATH" } ] Not sure if "CAIRO_DLL is necessary.