如何从源代码构建 libpoppler?

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

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

c++ linux pdf poppler
4个回答
11
投票

Poppler 的 git 树包含一个无用的

INSTALL
文档,它只是告诉你运行
./configure
,但它们不包含 git 中 automake/autoconf 自动生成的文件(包括配置)。 (可能他们确实将它们包含在 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 构建设置,因此您可以使用该或 cmake 来创建

Makefile

如果您只是想看看最新的 git poppler 是否比发行版包工作得更好,则不需要

sudo make install
,您可以直接从源目录运行
utils/pdftotext
或其他任何命令。它显然告诉链接器将构建路径嵌入到二进制文件中,作为库搜索路径,因此运行
/usr/local/src/poppler/utils/pdftotext
可以工作,并找到
/usr/local/src/poppler/libpoppler.so.52

如果最新的 poppler 确实比发行版打包的 poppler 工作得更好,您应该使用

/usr/local/bin
将其安装到
sudo make install
。当您升级到发行版的下一个版本时,请检查您的 /usr/local.conf 文件。通常,新的发行版版本会比您从源代码构建时更新,因此您应该从
/usr/local/{bin,share,lib,man,include}
中删除您的版本。 (或者源目录中的
make uninstall
,如果支持的话)。


1
投票

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

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

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

下载源代码后,请阅读

INSTALL
文件,其中显示:

  1. cd
    到包含包源代码的目录并输入
    ./configure
    为您的系统配置软件包。

  2. 输入“make”来编译包。

  3. 键入“make install”来安装程序和任何数据文件,然后 文档。


0
投票

时间过去了一段时间,好像有些不确定,所以我也去看了一下。

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

0
投票

如果您想从源代码安装

poppler
而不影响系统中的
poppler
(提供发行版),我推荐JHBuild,就像这样简单:

jhbuild buildone poppler-data poppler-test-files poppler
© www.soinside.com 2019 - 2024. All rights reserved.