如何从源代码构建libpoppler
How can I build libpoppler from source?
我刚把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
文件,其中显示:
cd
到包含包的源代码和类型的目录./configure
为您的系统配置程序包。键入"make"以编译包。
键入"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
- C++为构建时间获取QDateTime的可靠方法
- 无法在 CLion 中构建 C++ 项目
- 函数向量_指针有不同的原型,我可以构建一个吗
- 如何使用ndk-build.cmd构建Android.so文件
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- VSCode-有一个红色下划线,但程序构建和运行正确,并且出现配音错误
- 构建可组合有向图(扫描仪生成器的汤普森构造算法)
- 无法使用Qt Creator在Windows中构建yaml-cpp
- 构建一个由C和C++文件组成的库
- llvm构建器向基本块添加终止符
- FLTK 2.0构建和演示,适用于VS2019的2011年左右的代码库
- 如何跨平台将二进制资源构建到程序中?
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- 如何解决 Ninja c++ 构建和执行问题
- 使用 cmake 的 LLVM 构建在 tsan_libdispatch_mac.cc 期间失败; "Error: conflicting types for ..."
- CMake WxWidgets项目成功地在Linux上构建,但没有在Windows上构建
- 更改命令行 qt5 源代码构建配置的正确/快速方法
- 用CMake构建C++协议
- 如何从源代码构建libpoppler