PoDoFo Library
(用作API)。这是使用CMake
完成的。 ReadMe
文件如下所述。不幸的是,我对CMake还很陌生,无法从中获得太多信息。
在Windows上构建PoDoFo
需要CMake 2.6.x。您可以从cmake.org下载。
在Windows上,PoDoFo可以作为共享或静态库构建。 不支持同时构建两者。默认情况下,只会构建共享库。 如果您想要静态库,请禁用生成共享库的选项:
-DPODOFO_BUILD_SHARED=FALSE
处理win32平台的库命名
特别是在Windows上,自定义构建的库通常与您下载的预构建副本名称不同。如果它们被称为其他名称,则CMake无法找到它们,除非您告诉它。使用这些变量告诉CMake在哪些名称下查找库:
•FREETYPE_LIBRARY_NAMES_DEBUG, FREETYPE_LIBRARY_NAMES_RELEASE and FREETYPE_LIBRARY_NAMES
•TIFF_LIBRARY_NAMES_DEBUG, TIFF_LIBRARY_NAMES_RELEASE and TIFF_LIBRARY_NAMES
•LIBJPEG_LIBRARY_NAMES_DEBUG, LIBJPEG_LIBRARY_NAMES_RELEASE and LIBJPEG_LIBRARY_NAMES
•ZLIB_LIBRARY_NAMES_DEBUG, ZLIB_LIBRARY_NAMES_RELEASE,ZLIB_LIBRARY_NAMES
CMake在Windows上使用MinGW进行构建
一旦设置好MinGW,确保MinGW的“bin”目录在您的PATH中,并确保设置CMAKE_INCLUDE_PATH和CMAKE_LIBRARY_PATH,以便CMake可以找到PoDoFo所需的头文件和.lib文件的库。已知从http://gnuwin32.sf.net/下载的GnuWin32库包可与PoDoFo配合使用,因此从该网站安装zlib、freetype和libjpeg应该就可以了。
要使用默认的GnuWin32安装程序和已经在您的PATH中的MinGW配置和构建PoDoFo:
md ..\podofo-debug
cd ..\podofo-debug
cmake -G "MinGW Makefiles" ..\podofo-src -DCMAKE_INCLUDE_PATH=c:\progra~1\gnuwin32\include -DCMAKE_LIBRARY_PATH=c:\progra~1\gnuwin32\lib -DPODOFO_BUILD_SHARED:BOOL=FALSE mingw32-make
我已经安装了
CMake
并下载了其他库,如freetype、zlib、libjpeg
。它们的头文件和二进制文件都在它们各自的文件夹中。现在
DCMAKE_INCLUDE_PATH
和DCMAKE_LIBRARY_PATH
应该设置为什么?"MinGW Makefiles"
是什么?我需要提供任何额外的参数吗?如果有人能简单地解释一下我该怎么做,我将不胜感激。
编辑:CMAKE执行时出错:
-- Ensure you cppunit installed version is at least 1.12.0
Cppunit not found. No unit tests will be built.
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindPack
ageHandleStandardArgs.cmake:97 (message):
Could NOT find FREETYPE (missing: FREETYPE_LIBRARY FREETYPE_INCLUDE_DIR)
Call Stack (most recent call first):
C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindPackageHandleStan
dardArgs.cmake:291 (_FPHSA_FAILURE_MESSAGE)
cmake/modules/FindFREETYPE.cmake:75 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:372 (FIND_PACKAGE)