- libharu ver2.3.0: http://libharu.org/
- zlib ver1.2.11: https://zlib.net/
- libping ver1.6.37: http://www.libpng.org/pub/png/libpng.html
It required that libpng and zlib has been built with VS2019. Reference: Building libpng with Visual Studio 2019
The required directory structure is here.
libharu-VisualStudio2019/ # root for building
├─ libharu-RELEASE_2_3_0/ # libharu
├─ lpng1637/ # libpng (NOT included in this repository)
└─ zlib-1.2.11/ # zlib (NOT included in this repository)
-
Copy libpng and zlib
libpng: Copy "libpng16.lib" and "zlib.lib" from "libpng-VisualStudio2019\lpng1637\projects\vstudio\x64\Release Library" to "libharu-VisualStudio2019\libharu-RELEASE_2_3_0" -
Edit Script
Open file "libharu-VisualStudio2019\libharu-RELEASE_2_3_0\script\Makefile.msvc_dll".
Edit as below.-
Line #14
PNG_PREFIX = ../../libpng
toPNG_PREFIX = ../lpng1637
-
Line #18
ZLIB_PREFIX = ../../zlib
toZLIB_PREFIX = ../zlib-1.2.11
-
Line #30
CFLAGS=/MD -nologo -O2 -Iinclude -Iwin32\include -I"$(PNG_PREFIX)"\include -I"$(ZLIB_PREFIX)"\include -DHPDF_DLL_MAKE
toCFLAGS=/MD -nologo -O2 -Iinclude -Iwin32\include -I"$(PNG_PREFIX)" -I"$(ZLIB_PREFIX)" -DHPDF_DLL_MAKE
-
Line #33
LDFLAGS= /LIBPATH:$(PNG_PREFIX)\lib /LIBPATH:$(ZLIB_PREFIX)\lib /LIBPATH:win32\msvc libpng13.lib zlib.lib
toLDFLAGS= /LIBPATH:$(PNG_PREFIX)\lib /LIBPATH:$(ZLIB_PREFIX)\lib /LIBPATH:win32\msvc libpng16.lib zlib.lib
-
-
Build with MS Build in Visual Studio 2019 Tools
Launch "x64 Native Tools Command Prompt for VS 2019" and change directory to "build\libharu-RELEASE_2_3_0"
Type below andEnter
nmake -f script\Makefile.msvc_dll
When the build is completed, you can see the below message.
Finished generating code rename libhpdf.lib libhpdf.lib copy libhpdf.dll demo 1 file(s) copied.
The directory structure after building is here.
libharu-VisualStudio2019/ ├─ libharu-RELEASE_2_3_0/ │ ├─ cmake/ │ ├─ demo/ │ ├─ doc/ │ ├─ if/ │ ├─ include/ │ ├─ script/ │ ├─ src/ │ ├─ win32/ │ ├─ .gitignore │ ├─ CHANGES │ ├─ CMakeLists.txt │ ├─ INSTALL │ ├─ Makefile.am │ ├─ README │ ├─ README_cmake# │ ├─ build.mk │ ├─ buildconf.sh │ ├─ configure.in │ ├─ libharu.DevPackage.cmake │ ├─ libhpdf.dll │ ├─ libhpdf.exp │ ├─ libhpdf.lib │ ├─ libpng16.lib │ └─ zlib.lib │ ├─ lpng1637/ └─ zlib-1.2.11/
Completed! 😄