Как собрать qpdf в Windows?

При запуске проверки моего R-пакета (через devtools::check()) сталкиваюсь с предупреждением ''qpdf' is needed for checks on size reduction of PDFs. Я нашел этот вопрос, где было предложено (если я правильно понял ответ) запустить Sys.which(Sys.getenv("R_QPDF", "qpdf")) и посмотрите, найден ли qpdf или нет. В моем случае это просто возвращает

qpdf ""

Итак, я думаю, что неправильно установил qpdf. К сожалению, установить qpdf в Windows довольно сложно. Мой первый побочный вопрос: действительно ли установка qpdf для Windows настолько болезненна и сложна, или есть простое решение?

Я следовал инструкциям, пока не было сказано добавить C:\MinGW-w64\bin и C:\MinGW-w64\lib\mingw в переменную PATH. Но тогда я не нахожу дальнейших конкретных инструкций по установке qpdf, только о том, как собирать qpdf с другими другими программами. Второй побочный вопрос: правильно ли мое предположение, что после сборки qpdf он установлен? Но настоящий вопрос: Как лучше собрать qpdf? Я попробовал команды ./config-mingw32 и ./config-mingw64 из раздела "Сборка с помощью MinGW" в моем C:\MinGW\msys\1.0\bin\ bash.exe, но получил сообщения об ошибках ./config-mingw32: No such file or directory и не знаю, как решить эту проблему.


Я использую Windows 10, R версии 3.3.2 с исправлениями (2017-01-07 r71934) -- "Искреннее тыквенное исправление" и RStudio 1.0.136.


person Qaswed    schedule 10.01.2017    source источник
comment
Вам не нужен qpdf для создания пакетов R, даже для распространения в CRAN.   -  person Hong Ooi    schedule 31.08.2017


Ответы (3)



Чтобы конкретизировать ответ, предоставленный в другом месте:

Если вы используете 32-разрядную версию R, важно загрузить 32-разрядная версия qpdf, ссылка на которую размещена на домашней странице SourceForge. Если вы используете 64-разрядную установку R, вам придется немного покопаться, чтобы найти 64-разрядную версию qpdf, которая спрятана немного глубже (версия 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, использовать его.

person ms609    schedule 11.11.2017
comment
Как добавить C:\Program Files\qpdf-version_number\bin к PATH? В cmd.exe или это можно сделать в R? - person bealhammar; 08.05.2020
comment
Я бы сделал это в Windows: откройте меню «Пуск», введите «Изменить системные переменные среды», чтобы открыть «Свойства системы», и внизу вкладки «Дополнительно» нажмите «Переменные среды». Найдите запись «Путь» в разделе «Системные переменные» и нажмите «Изменить». - person ms609; 09.05.2020
comment
Спасибо! Это сработало, если в системных переменных я добавил путь, используя New, а не Edit. Я предполагаю, что Edit предназначен для изменения существующих путей. - person bealhammar; 10.05.2020

Настройте среду MSVC, затем настройте и соберите следующим образом:

./config-msvc
make

Вот более подробные шаги: https://github.com/qpdf/qpdf/blob/master/README-windows.md

Надеюсь, поможет.

person wbing520    schedule 30.08.2017