如何从源代码构建libpoppler

How can I build libpoppler from source?

本文关键字:构建 libpoppler 源代码      更新时间:2023-10-16

我刚把poppler下载到Linux系统,我想把它合并到我的应用程序中来解析pdf文件
(我的目标是将pdf文件转换为纯文本。)
我该怎么做?

Poppler的git树包含一个无用的INSTALL文档,该文档只是告诉您运行./configure,但它们不包含git中的automake/autoconf自动生成文件(包括configure)。(可能他们确实在tarball源代码版本中包含了它们。)

我刚刚从git源代码(在Ubuntu 15.04上)构建了poppler,如下所示:

git clone --depth 50 --no-single-branch git://git.freedesktop.org/git/poppler/poppler
cmake -G 'Unix Makefiles'  # other -G options are to generate project files for various IDEs
# look at the output.  If it didn't find some libraries,
# install them with your package manager and re-run cmake
make -j4
# optionally:
sudo make install

它们似乎维护了一个autoconf/automake构建设置,因此您可以使用该OR cmake来创建Makefile

如果你只是想看看最新的gitpoppler是否比发行版包工作得更好,你不需要sudo make install,你只需要从源目录运行utils/pdftotext或其他任何东西。它显然告诉链接器将构建路径嵌入二进制文件中,作为库搜索路径,因此运行/usr/local/src/poppler/utils/pdftotext可以工作,并找到/usr/local/src/poppler/libpoppler.so.52

如果最新的poppler确实比发行版打包的popple工作得更好,那么您应该将它与sudo make install一起安装到/usr/local/bin。当您升级到发行版的下一个版本时,请检查您的/usr/local。通常,新的发行版版本会比您从源代码构建时更新,所以您应该从/usr/local/{bin,share,lib,man,include}中删除您的版本。(或者源目录中的make uninstall,如果支持的话)。

他们的网站解释得很清楚:

Poppler可从git获得。要克隆存储库,请使用以下命令:

git clone git://git.freedesktop.org/git/poppler/poppler

下载源代码后,读取INSTALL文件,其中显示:

  1. cd到包含包的源代码和类型的目录./configure为您的系统配置程序包。

  2. 键入"make"以编译包。

  3. 键入"make-install"以安装程序和任何数据文件文档

由于一段时间过去了,似乎存在一些不确定性,我也看了一眼。

2021年底,他们的主页上写着

我们通过gitlab CI 进行持续集成

我查看了他们的.gitlab-ci.yml,它有很多构建任务。现在看来,我们构建的libpoppler是这样的:

git clone git://git.freedesktop.org/git/poppler/test test.repo
mkdir -p build && cd build
cmake -DTESTDATADIR=`pwd`/../test.repo -G Ninja ..
ninja