如何为 Visual Studio 设置 Podofo?

问题描述 投票:0回答:1

我正在尝试设置 Podofo 来组合矢量中的两个 PDF 文件

std::vector<const wchar_t*> inputfiles;

这是我的详细步骤(也许对很多人来说很基本,但对我来说不是):

  • 下载[podofo-0.9.7]
  • 在 vs2019 中,将 #include "..podofo.h" 和常规/链接器添加到 COPYING.LIB 设置(我不确定这一点)
  • 构建项目时出现错误
    podofo_config.h not found
    ,所以我将文件名从
    podofo_config.h.in
  • 更改为
  • 在构建时,我收到以下错误:

enter image description here

  • 我读过一些帖子,但信息很少。我似乎需要 CMake,zlib,..(我对构建此类项目非常陌生)

  • 我已经下载了CMake3.30.3和zlib1211

  • 使用 CMake.exe 构建 zlib.lib 但我找不到导出的库:

    enter image description here

另外,我需要做什么才能将 zlib.lib 与 podofo 链接起来?因为当使用 Cmake 构建 podofo 时,我收到此错误:

enter image description here

Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR) (do I need to copy-paste into that directory)

我该如何克服这个问题?

非常感谢!

c++ pdf podofo
1个回答
1
投票

迟到总比不到好,让我分享一下我在使用 Visual Studio 构建静态版本库时发现的内容。

从 GitHub 下载 PoDoFo 项目

https://github.com/podofo/podofo

从 GitHub 下载预编译的第 3 方依赖项

https://github.com/podofo/podofo-deps

我个人将这两个文件夹都放置在 C:\PoDoFoProj 中,因此如果您使用其他目录,请在稍后构建时进行所需的调整。 到目前为止我们的结构是

C:\PoDoFoProj\podofo-deps-master
C:\PoDoFoProj\podofo-master

现在必须进行一点调整 - 复制 4 个 lib 文件从

C:\PoDoFoProj\podofo-deps-master\3rdparty\openssl\lib\Win64

C:\PoDoFoProj\podofo-deps-master\3rdparty\openssl\lib\

这是我在这里报告的问题的解决方法 - https://github.com/podofo/podofo/issues/57

在 podofo-master 目录中创建一个“build”目录(路径应为 C:\PoDoFoProj\podofo-master uild)

使用命令提示符导航到该目录,然后键入:

cmake .. -DZLIB_LIBRARY="C:\PoDoFoProj\podofo-deps-master\3rdparty\zlib\lib\Win64\zlib.lib" -DZLIB_INCLUDE_DIR=C:\PoDoFoProj\podofo-deps-master\3rdparty\zlib\include -DPODOFO_BUILD_STATIC=TRUE -DOPENSSL_ROOT_DIR=C:\PoDoFoProj\podofo-deps-master\3rdparty\openssl -DJPEG_LIBRARY=C:\PoDoFoProj\podofo-deps-master\3rdparty\libjpeg\lib\Win64\jpeg.lib -DJPEG_INCLUDE_DIR="C:\PoDoFoProj\podofo-deps-master\3rdparty\libjpeg\include" -DTIFF_LIBRARY=C:\PoDoFoProj\podofo-deps-master\3rdparty\libtiff\lib\Win64\tiff.lib -DTIFF_INCLUDE_DIR=C:\PoDoFoProj\podofo-deps-master\3rdparty\libtiff\include -DPNG_LIBRARY=C:\PoDoFoProj\podofo-deps-master\3rdparty\libpng\lib\Win64\png.lib -DPNG_PNG_INCLUDE_DIR=C:\PoDoFoProj\podofo-deps-master\3rdparty\libpng\include -DLIBIDN_INCLUDE_DIR=C:\PoDoFoProj\podofo-deps-master\3rdparty\libidn\include -DLIBIDN_LIBRARY=C:\PoDoFoProj\podofo-deps-master\3rdparty\libidn\lib\Win64\idn.lib -DFREETYPE_LIBRARY=C:\PoDoFoProj\podofo-deps-master\3rdparty\freetype\lib\Win64\freetype.lib -DFREETYPE_INCLUDE_DIRS=C:\PoDoFoProj\podofo-deps-master\3rdparty\freetype\include\freetype2 -DFontconfig_LIBRARY=C:\PoDoFoProj\podofo-deps-master\3rdparty\fontconfig\lib\Win64\fontconfig.lib -DFontconfig_INCLUDE_DIR=C:\PoDoFoProj\podofo-deps-master\3rdparty\fontconfig\include -DLIBXML2_LIBRARY=C:\PoDoFoProj\podofo-deps-master\3rdparty\libxml2\lib\Win64\libxml2.lib -DLIBXML2_INCLUDE_DIR=C:\PoDoFoProj\podofo-deps-master\3rdparty\libxml2\include

然后 Visual Studio 解决方案将出现在这里 - C:\PoDoFoProj\podofo-master uild\PoDoFo.sln

打开它来构建 HelloWorld 示例。 (可以选择将项目“podofo_private”和“podofo_static”设置为使用/MP - 它们非常大,多处理器编译将显着加快进程)

编辑,2023 年 5 月

  1. 静态构建的 CMake 参数已更改为 -DPODOFO_BUILD_STATIC=TRUE
  2. 使用 Visual Studio 编译时,从项目配置中“启用 Unity (Jumbo) Build”使编译速度比仅 /MP 快得多
© www.soinside.com 2019 - 2024. All rights reserved.