我正试图在我的Windows (用作API)上构建。它是使用CMake完成的。ReadMe文件如下所示。不幸的是,我对CMake并不熟悉,也无法从中了解到什么。
基于Windows的构建PoDoFo Windows2.6.x是CMake所必需的。您可以从cmake.org下载它。在Windows上,可以将PoDoFo构建为共享库或静态库。这两种方法都不支持。默认情况下,只构建共享库。如果您想要静态库,只需使用cmake的额外参数禁用共享库的生成:
-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_NAMESCMake与MinGW构建在Windows上 设置MinGW后,确保MinGW "bin“目录位于您的路径上,并确保设置了CMAKE_INCLUDE_PATH和CMAKE_LIBRARY_PATH,以便CMake能够找到库PoDoFo所需的头文件和.lib文件。众所周知,来自http://gnuwin32.sf.net/的http://gnuwin32.sf.net/库包可以使用PoDoFo,因此从那里安装zlib、freetype和libjpeg就可以了。 若要使用默认的PoDoFo安装以及已经在您的路径上的MinGW配置和构建MinGW,请执行以下操作:
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)发布于 2013-11-20 16:36:18
如果您遵循了所有的说明,编译它通常就足够了:
cd <podofo root directory (where CMakeLists.txt is)>
mkdir build
cd build
cmake -G "MinGW Makefiles" -DCMAKE_INCLUDE_PATH=<path to headers> -DCMAKE_LIBRARY_PATH=<path to libraries> -DPODOFO_BUILD_SHARED:BOOL=FALSE ..
mingw32-make一步一步地:首先,转到podofo源代码所在的目录。您应该看到周围有一个CMakeLists.txt文件。
第二(和第三),创建(并进入)一个目录,其中将进行编译。我称它为建筑,但它可以是任何名字。这是一个最佳实践,因为您可以简单地删除构建目录并回到干净的状态。
第四,让cmake创建makefile以便进行混合:
PODOFO_BUILD_SHARED:构建、共享或静态版本。CMAKE_INCLUDE_PATH和CMAKE_LIBRAY_PATH用于引用构建podofo所需的包。如果您像以前一样下载了预编译的包,因为您有downloaded和二进制文件,那么您需要给出那些头和二进制文件的路径。如果需要,可以多次指定变量,例如:
-DCMAKE_INCLUDE_PATH=/path/to/freetype/include -DCMAKE_MinGW_path=/path/to/freetype/lib-DCMAKE_MinGW_path=/MinGW/zlib/MinGW_path=/path/MinGW/ -DPODOFO_BUILD_SHARED:BOOL=FALSE"MinGW Makefiles"告诉cmake创建特定于mingw的makefile。否则,默认情况下,它会在windows上创建特定于的makefile。CMakeLists.txt,最后引用..。最后,但并非最不重要的是,使用make的混合版本进行编译。
发布于 2013-11-25 13:09:40
要构建PoDoFo,需要安装GnuWin32、CMake、MinGW32和PoDoFo源代码
download.batinstall.bat然后,正如@ibizaman回答中所建议的那样
cmake -G "MinGW Makefiles" -DCMAKE_INCLUDE_PATH="C:\gnuwin32\include" -DCMAKE_LIBRARY_PATH="C:\gnuwin32\lib" -DPODOFO_BUILD_STATIC=TRUE ..FreeType应该与GnuWin32包一起安装
https://stackoverflow.com/questions/20042467
复制相似问题