14

在对我的 R 包(通过devtools::check())运行检查时,我会遇到警告''qpdf' is needed for checks on size reduction of PDFs。我发现这个问题是否被建议(如果我正确理解答案)运行Sys.which(Sys.getenv("R_QPDF", "qpdf"))并查看是否找到 qpdf。就我而言,这只是返回

qpdf ""

所以,我想我没有正确安装 qpdf。不幸的是,在 Windows 上安装 qpdf 似乎相当复杂。我的第一个问题是:为 Windows 安装 qpdf 真的如此痛苦和复杂,还是有一个简单的解决方案?

我已经按照说明进行操作,直到据说将 C:\MinGW-w64\bin 和 C:\MinGW-w64\lib\mingw 添加到 PATH 变量中。但是后来我没有找到安装qpdf 的更多具体说明,只有关于如何使用不同的其他程序构建qpdf。第二个问题是:我的假设是否正确,即在我构建qpdf 之后它已安装?但真正的问题是:构建 qpdf 的最佳方式是什么?我在我的 C:\MinGW\msys\1.0\bin\bash.exe 中尝试了“使用 MinGW 构建”部分中的./config-mingw32和命令,但收到错误消息并且不知道如何解决此问题。./config-mingw64./config-mingw32: No such file or directory


我正在使用 Windows 10,R 版本 3.3.2 Patched (2017-01-07 r71934)——“Sincere Pumpkin Patch”和 RStudio 1.0.136。

4

3 回答 3

20

您基本上不需要在 windows 上构建文件。请按照以下三个步骤操作:

  1. 从https://sourceforge.net/projects/qpdf/?source=typ_redirect下载 qpdf for windows
  2. 提取临时文件夹中的文件
  3. 将bin文件夹的内容复制到 %SystemRoot%\System32

任务完成!

Sys.which(Sys.getenv("R_QPDF", "qpdf"))
                             qpdf 
"C:\\WINDOWS\\SYSTEM32\\qpdf.exe" 
于 2017-09-08T09:18:50.930 回答
7

充实其他地方提供的答案

如果您运行的是 32 位版本的 R,请务必下载32 位版本的 qpdf,这是从 SourceForge 主页链接的版本。如果您正在运行 R 的 64 位安装,则需要进行一些挖掘以找到 qpdf 的 64 位版本,该版本被埋得更深一些(此处列出了 10.0.1 版本)。

C:/Windows/System32一个可能更安全的选择是将压缩的 qpdf 目录解压缩到C:\Program Files. 如果这样做,则需要在环境变量下添加C:\Program Files\qpdf-version_number\bin到系统中。PATH

  • 要在 R 中执行此操作,请运行Sys.setenv('PATH' = paste0('C:\Program Files\qpdf-version_numer\bin;', Sys.getenv('PATH')))
  • 要在 Windows 中执行此操作,请打开开始菜单,键入“编辑系统环境变量”以打开系统属性,然后在“高级”选项卡底部单击“环境变量”。在“系统变量”下找到“路径”条目,然后单击“编辑”。然后,重新启动 R 以获取修改后的PATH.

可能需要进一步的步骤来让 Windows 相信 pqdf 可以安全运行。导航C:\Program Files\qpdf-version_numer\bin并执行qpdf.exe(通过双击)。Windows 10 引发安全警告,因为它是一个无法识别的可执行文件。您需要使用更多选项链接来找到运行程序的按钮。完成此操作后,Windows 会将该文件识别为可以安全运行并允许包括 R 在内的其他软件使用它。

于 2017-11-11T12:01:01.600 回答
0

设置 MSVC 环境,然后配置和构建如下:

./config-msvc
make

这是更详细的步骤:https ://github.com/qpdf/qpdf/blob/master/README-windows.md

希望能帮助到你。

于 2017-08-30T19:39:17.410 回答