Слияние кода завершено, страница обновится автоматически
**Инструмент Doxygen** Очевидно, что Doxygen должен быть установлен. Эта документация не создаётся и не устанавливается по умолчанию, и вы должны явно включить её с помощью параметра *--enable-doxygen-doc* в команде *./configure*. Результирующая документация помещается в каталог *DOC_PATH/doxygen* (*DOC_PATH* — это *PREFIX/share/doc/pdfedit*). Это настоятельно рекомендуется для пакета *pdfedit-core-dev*, который выполняется дистрибьюторами. **Руководство пользователя** Руководство пользователя представляет собой HTML-страницы, описывающие использование *PDFedit*. Эта документация также не создаётся по умолчанию, и вам необходимо включить её с помощью параметра конфигурации *--enable-user-manual*. Мы используем формат *DocBook* на основе *XML*, поэтому у вас должны быть установлены *docbook xsl* и *xsltproc*. Результирующая документация размещается в каталоге *DOC_PATH/manual*. **Расширенная документация** Это проектная документация, которая описывает внутренние структуры данных, алгоритмы и взаимосвязи с точки зрения программиста. Она полезна, если вы хотите разработать *PDFedit* или стороннее приложение на его основе. Эта документация также не создаётся по умолчанию, и её необходимо включить с помощью параметра конфигурации *--enable-advanced-doc*. Мы используем формат *DocBook* на основе *XML*, поэтому у вас должны быть установлены *docbook xsl* и *xsltproc*. Результирующая документация находится в каталоге *DOC_PATH/design*. **Конфигурация** Запустите: *./configure [параметры]* Примечание для тех, кто использует источники из *CVS*: *configure* больше не является частью дерева *CVS*! Вы должны создать его. Это можно сделать просто с помощью команды *$ autoconf* в корне извлечённого проекта. Обратите внимание, что на вашем компьютере должен быть установлен пакет *autoconf*. Простой запуск без каких-либо параметров приводит к конфигурации по умолчанию, где приложение компилируется в режиме выпуска (оптимизации включены, отладочная информация отсутствует, предупреждения компиляции устранены), графический интерфейс включён, генерируется документация *Doxygen*, тесты ядра (*src/kernel/tests*) не компилируются, и приложение будет установлено в каталог /usr/local/pdfedit. Конфигурация также включает компиляцию и установку в так называемый пакет *pdfedit-core-dev*, который подготавливает все библиотеки и заголовочные файлы для сторонних приложений, которые хотят повторно использовать основную функциональность (*pdfedit kernel*) (подробнее см. в разделе «Пакет разработки *Pdfedit*» ниже). По умолчанию это не делается, и вы должны включить это явно с помощью параметра конфигурации *--enable-pdfedit-dev-core*. Обратите внимание, что пакет разработки и графический интерфейс могут быть объединены вместе, но также может быть создан отдельный пакет разработки путём отключения графического интерфейса (см. ниже). Установка *pdfedit-dev-core* поставляется со сценарием *pdfedit-core-dev-config*, который может использоваться сторонним кодом для настройки своего приложения, чтобы правильно установить флаги компилятора, пути включения, библиотеки и т. д. **Функции конфигурации** Вы можете изменить это поведение с помощью следующих параметров (функция используется, если используется параметр *--enable-*, напротив, *--disable-* отключает эту функцию — например, если имя функции *stack-protector* => *—enable-stack-protector* использует эту функцию): *-stack-protector* — добавляет параметр защиты стека к флагам компиляции. Отключено по умолчанию, поскольку не все компиляторы поддерживают эту функцию (*gcc > 4.1* поддерживает её). *-release* — управляет флагами компиляции для режима выпуска (отладка не требуется). Используется по умолчанию. Это означает, что оптимизации включены, а отладочная информация не включена в результирующий двоичный файл. Если вам нужно отладить или выполнить некоторую разработку, настоятельно рекомендуется *—disable-release*. *-debug-info* — если используется *—enable-release*, и вам всё ещё нужна отладочная информация (например, когда приложение аварийно завершает работу, чтобы иметь разумные трассировки стека), используйте *—enable-debug-info*. Этот параметр будет проигнорирован, если используется *—disable-release*. *-observer-debug* — только для разработчиков. Отключён по умолчанию. Если он включён, в код ядра добавляется дополнительная отладочная информация, позволяющая отлаживать наблюдателей. **based code** -gui - Создаёт графический интерфейс пользователя для PDFedit (бинарный файл pdfedit). Включён по умолчанию. Если используется параметр --disable-gui, графический интерфейс не создаётся. -kernel-tests - Компилирует все тесты ядра (в src/kernel/tests). Отключён по умолчанию и предназначен только для разработчиков и тестировщиков. Обратите внимание, что для этого на вашей системе должен быть установлен CPPUNIT. -tools - Компилирует все инструменты, доступные в src/tools. Отключён по умолчанию и предназначен для тех, кто интересуется простыми примерами использования библиотеки pdfedit-core-dev, а также для тех, кому нужны простые инструменты для работы с PDF-файлами и их анализа, но кто не хочет использовать графический интерфейс или скрипты (pdf_to_text, flattener, delinerizator, pdf_object_comparer и т. д.). Обратите внимание, что вам также потребуется опция --enable-pdfedit-core-dev для инструментов. -doxygen-doc - Также генерирует документацию doxygen, полезную для программистов. Отключен по умолчанию. Обратите внимание, что для этой функции необходимо установить doxygen. -user-manual - Также генерирует документацию по руководству пользователя docbook. Отключен по умолчанию. Обратите внимание, что для этой функции необходимы docbook и его предварительные условия. -advanced-doc - Также генерирует документацию по дизайну docbook. Отключен по умолчанию. Обратите внимание, что для этой функции необходимы docbook и его предварительные условия. -pdfedit-core-dev - Генерирует библиотеки, необходимые для сторонних приложений, которые хотят использовать ядро pdfedit. Кроме того, команда make install также установит файлы заголовков, библиотеки и вспомогательный скрипт pdfedit-core-dev-config (см. каталоги установки ниже). Эта опция отключена по умолчанию. -portability-flags - Добавляет флаги компилятора, которые обеспечивают стандарт c99/c++98 и переносимость posix/ansi. Эта опция включена по умолчанию. Процесс настройки по умолчанию проверит количество процессоров/ядер и использует это значение для распараллеливания задач make (каждый make будет использовать разные CPU/ядра). Вы можете изменить это поведение с помощью параметра --with-parallel-make=VALUE, где VALUE — одно из следующих значений: - auto (по умолчанию) — (в Linux — проверяет /proc/cpuinfo и использует количество ядер процессора для количества параллельных заданий make). - off — без распараллеливания. - number — количество параллельных заданий make (ожидается положительное число). Поведение по умолчанию (без необходимости в параметре --with-parallel-make) должно быть нормальным практически во всех ситуациях (с преимуществом более короткого времени сборки), однако если у вас есть особые требования, когда вы не хотите/не можете использовать все свои процессоры/ядра для компиляции, вы можете использовать либо опцию off, либо точное количество параллельных задач. **Спецификация библиотек и двоичных файлов** Вы также можете контролировать пути поиска для необходимых библиотек и двоичных файлов: - Библиотека шрифтов Freetype2 ./configure --with-ft-prefix=PATH_TO_YOUR_FREETYPE2 соответственно (для T1). - Библиотека шрифтов T1 ./configure --with-t1-includes=PATH_TO_YOUR_T1_HEADERS --with-t1-library=PATH_TO_YOUR_T1_LIB - CPPUnit ./configure --with-cppunit-prefix=PATH_TO_YOUR_CPPUNIT - Boost ./configure --with-boost=YOUR_BOOST_INSTALLATION_PATH --with-boost-libdir=YOUR_BOOST_LIB_PATH - qmake ищется в $QTDIR/bin, /usr/bin, /usr/local/bin, /usr/lib/qt3/bin и в каталогах в $PATH. Если у вас установлен qmake в другом каталоге, используйте: ./configure --with-qmake=QMAKE_BINARY_WITH_PATH - QT поставляется с бинарным файлом lrelease, который используется для перевода файлов данных локализации. Этот двоичный файл ищется в $QTDIR/bin, /usr/bin, /usr/local/bin, /usr/lib/qt3/bin и в каталогах в $PATH. Если он не найден в вашей системе, пожалуйста, используйте ./configure --with-lrelease-bin=LRELEASE_BINARY_WITH_PATH - doxygen ищется в /usr/bin , /usr/local/bin и текущих каталогах PATH. Если у вас doxygen установлен в другом каталоге, используйте: ./configure --with-doxygen=DOXYGEN_BINARY_WITH_PATH - xsltproc ищется в /usr/bin , /usr/local/bin и текущих каталогах PATH. **Другие каталоги** Используйте: ./configure --with-xsltproc=XSLTPROC_BINARY_WITH_PATH Файлы XSLT DocBook необходимы для корректной генерации вывода из файлов XML DocBook с помощью xsltproc. Существует множество мест, где можно найти эти файлы. Поскольку многие системы используют разные каталоги и нет общего способа обнаружения, мы используем файл doc/tools/docbook_xslt_paths для определения всех возможных каталогов, которые ищутся. Если вы уверены, что установили пакет с этим файлом (обычно хранится в ...html/dobook.xsl), добавьте его абсолютный путь в этот файл (каждый каталог должен быть на отдельной строке и может использовать подстановочные знаки). Если вы сообщите об отсутствии каталога для вашей платформы, мы можем добавить его в следующем выпуске. Дополнительную информацию об этих параметрах см. в ./configure —help. **Каталоги установки** По умолчанию все файлы устанавливаются в подкаталог /usr/local (двоичный файл — в /usr/local/bin, конфигурационные файлы — в /usr/local/share/pdfedit и т. д.). Это местоположение можно изменить с помощью параметра --prefix для configure (PREFIX далее). Расположение двоичного файла PDFedit можно контролировать с помощью --exec-prefix (EPREFIX далее), и он хранится в EPREFIX/bin. По умолчанию EPREFIX совпадает с PREFIX. Файлы документации копируются в PREFIX/share/pdfedit/doc, конфигурационные файлы и скрипты — в PREFIX/share/pdfedit, а страница руководства — в PREFIX/share/man/man1. Если настроен pdfedit-core-dev, все соответствующие заголовочные файлы копируются в INCLUDEDIR/pdfedit-version (по умолчанию INCLUDEDIR=PREFIX/include), статические библиотеки — в LIBDIR/pdfedit-version (LIBDIR=EPREFIX/lib по умолчанию), а скрипт pdfedit-core-dev-config копируется в путь к двоичному файлу, как описано для двоичного файла PDFedit. Если вам нужно изменить корень установки (например, если вы упаковщик и хотите создать пакет или использовать среду chrooted), используйте --with-root-dir=YOUR_INSTALLATION_ROOT_DIR Всё будет установлено с полной структурой каталогов относительно этого каталога вместо реального корневого каталога (конечно, используя правильные PREFIX и EPREFIX). Обратите внимание, что вы не можете просто выполнить PDFedit из этого каталога сразу, так как файлы должны присутствовать в реальном корневом каталоге, чтобы редактор функционировал должным образом. Если вы хотите просто переместить установку в другое место (например, в свой домашний каталог), используйте для этого параметр --prefix. Каталоги установки для определённых частей (двоичных файлов, документации, конфигурационных файлов) также можно контролировать с помощью параметров настройки. --bindir управляет каталогом, куда копируется двоичный файл pdfedit --libdir управляет каталогом, куда устанавливаются библиотеки pdfedit-core-dev --includedir управляет каталогом, куда устанавливаются заголовочные файлы pdfedit-core-dev --docdir управляет каталогом, куда копируется документация --mandir управляет каталогом, куда копируется страница руководства. Обратите внимание, что мы предоставляем только man 1 pdfedit, поэтому страница руководства фактически копируется в подкаталог man1 указанного. --datadir управляет каталогом, где хранятся конфигурационные файлы (фактически файлы хранятся в подкаталоге имени пакета pdfedit) Вы можете использовать следующие переменные, если хотите настроить указанные выше каталоги: prefix — значение, установленное как --prefix (обычно /usr/local) exec_prefix — значение, заданное как --exec_prefix (обычно совпадает с PREFIX) datarootdir — корневой каталог для всех данных pdfedit (обычно PREFIX/share) version — текущая версия package_name — имя установленного пакета Пример одновременной установки нескольких версий: # Обратите внимание, что здесь необходимы кавычки, потому что bash (и некоторые другие оболочки тоже) будет запускать подоболочку для $(expression) иначе # Также обратите внимание, что страница руководства будет перезаписываться каждой установкой. ./configure --bindir='$(exec_prefix)/$(package_name)-$(version)' \ --docdir='$(datarootdir)/doc/$(package_name)-$(version)' \ --datadir='$(datarootdir)/$(package_name)-$(version)' **Компиляция** После настройки **Успешное завершение** Запустите «make» в этом каталоге, чтобы начать компиляцию (обратите внимание, что предпочтительнее использовать GNU make, поскольку мы используем некоторые функции GNU make, которые могут быть недоступны в других реализациях make). Если вам нужно (по какой-либо причине) изменить или явно указать другой компилятор, отличный от используемого по умолчанию, вы можете сделать это на этапе настройки, передав свой компилятор в качестве параметров конфигурации CC и CXX. Первый используется для файлов c, а второй — для файлов C++. Допустим, у нас есть gcc версии 4.2 по умолчанию и мы хотим скомпилировать с помощью новейшего gcc 4.3. Тогда вам следует сделать следующее (имя бинарного файла компилятора может различаться в разных системах — этот вариант для Debian): ./configure CC=gcc-4.3 CXX=g++-4.3 Обратите внимание, что CFLAGS и CXXFLAGS, которые можно стандартно передать в configure, игнорируются нашим скриптом настройки. Однако вы можете повлиять на параметры компилятора с помощью следующих переменных: - ARCH для специфических параметров архитектуры; - C_EXTRA для флагов CC (-fmessage-length=0 -D_FORTIFY_SOURCE=2 -fno-strict-aliasing будут использоваться, если не определены); - CXX_EXTRA для флагов CXX (-fmessage-length=0 -D_FORTIFY_SOURCE=2 -fno-strict-aliasing -fexceptions будут использоваться, если не определены); - EXTRA_UTILS_CFLAGS, EXTRA_KERNEL_CFLAGS, EXTRA_TESTS_CFLAGS, EXTRA_XPDF_CFLAGS используются для флагов CC для каталогов utils, kernel, tests соответственно (только для внутреннего использования разработчиками); - EXTRA_UTILS_CXXFLAGS, EXTRA_KERNEL_CXXFLAGS, EXTRA_TESTS_CXXFLAGS, EXTRA_GUI_CXXFLAGS, EXTRA_XPDF_CXXFLAGS аналогично предыдущему для CXX. **Установка** Чтобы установить редактор, запустите make install Обратите внимание, что все файлы будут установлены в соответствии с определённым префиксом, и если для настройки был указан --with-root-dir, то префикс будет относиться к указанному корню. **Сборка Cygwin** В PATH в Cygwin должны быть следующие три каталога: /bin (здесь находится большинство необходимых исполняемых файлов); /usr/X11R6/bin (некоторые библиотеки находятся здесь); /usr/lib/qt3/bin (qmake должен быть в PATH). Вы можете использовать cygwin_build.bat, чтобы запустить процесс сборки (сначала вам нужно установить CYGWIN_ROOT в файле). Это создаст пакет в /tmp/pdfedit-package и создаст pack.bat для упаковки пакета с помощью 7-zip. Обратите внимание, что мы получили сообщения о том, что PDFedit не компилируется под некоторыми выпусками Cygwin. Проблема оказалась связана с реализацией стандарта C++ относительно некоторых определений функций (например, mkstemp) в Cygwin. Единственное разумное решение — отключить переносимость и флаги компилятора стандартов C/C++. Пожалуйста, используйте --enable-portability-flags=no, если вы столкнулись с этими проблемами. **FreeBSD build** Вот краткое руководство по компиляции и установке PDFedit на FreeBSD 6.2 (Qt 3.38, Xorg 7.2). Спасибо Хао Чену. # распакуйте текущие исходные коды (это было сделано для версии 0.3.1) tar zxvf pdfedit-0.3.1.tar.bz2 cd pdfedit-0.3.1 setenv QTDIR /usr/local setenv QMAKESPEC /usr/local/share/qt/mkspecs/freebsd-g++ setenv LOCALBASE /usr/local ./configure --with-t1-library="${LOCALBASE}/lib" \ --with-t1-includes="${LOCALBASE}/include" Убедитесь, что вы видите это: # проверка наличия T1_InitLib в -lt1... да # использование библиотеки t1 Наши make-файлы используют некоторые расширения GNU make, поэтому рекомендуется использовать gmake! **NetBSD installation** Пакет для NetBSD доступен по адресу http://pkgsrc.se/wip/pdfedit. **Debian package** На данный момент пакет для Debian находится в стадии тестирования. См. http://packages.debian.org/unstable/utils/pdfedit. Пакет для Ubuntu можно найти по адресу http://packages.ubuntu.com/gutsy/utils/pdfedit. А если вы хотите создать deb-пакет самостоятельно, Эрик Довяк (спасибо за это руководство) предлагает: Сначала установите пакеты, необходимые для сборки PDF Editor. # apt-get install dh-make libboost-dev Затем загрузите архив из Sourceforge и извлеките файлы: $ tar -zxf pdfedit_0.4.1.tar.gz Далее перейдите в каталог pdfedit-0.4.1/ и запустите dh_make $ cd pdfedit-0.4.1/ $ dh_make --createorig Выберите создание пакета исходного кода. **Установка пакета pdfedit** **Одиночный бинарный файл** После запуска dh_make откройте файл pdfedit-0.4.1/debian/rules и закомментируйте строку 48: # $(MAKE) distclean Затем запустите: $ export QTDIR=/usr/share/qt3 $ dpkg-buildpackage Это создаст пакет DEB, который можно установить с помощью: # dpkg -i pdfedit_0.4.1-1_i386.deb **Дистрибутивы на основе RPM** ================= * OpenSUSE предоставляет пакет через репозиторий Packman (http://ftp.skynet.be/pub/packman/suse/10.3/). Доступ к службе сборки — https://build.opensuse.org/package/show?package=pdfedit&project=KDE%3AKDE3. * Пакет для Mandriva можно получить по адресу http://rpmlinux.org. **Пакет Gentoo** ============== Пакет доступен в оверлейном репозитории sunrise, доступ к которому можно получить следующим образом: emerge -va layman echo "source /usr/portage/local/layman/make.conf" >> /etc/make.conf layman -f -a sunrise Установка pdfedit выполняется с помощью команды: ACCEPT_KEYWORDS=~x86 emerge -av pdfedit **Altlinux 64b** ============ В Altlinux библиотеки boost хранятся в каталоге /usr/lib64. Этот каталог не ищется по умолчанию. Поэтому необходимо вручную задать путь к библиотеке с помощью --with-boost-libdir=/usr/lib64. **Разрабатываемый пакет PDFedit** ===================== Основные функции PDFedit (без графического интерфейса) могут быть повторно использованы сторонними приложениями. Для этой цели мы предоставили отдельные параметры конфигурации и цели установки, как описано выше. Если вы хотите использовать этот пакет, выполните следующие шаги: * Установите пакет pdfedit-core-dev (либо из дистрибутива, если он доступен, либо из источников, как описано выше). * Есть два способа правильно настроить флаги компилятора и компоновщика для правильной компиляции вашего приложения. - Ручной способ с использованием Makefile. Вы должны использовать скрипт EPREFIX/pdfedit-core-dev-config, например, таким образом в Makefile: CXXFLAGS = $(shell pdfedit-core-dev-config --cflags) LDFLAGS = $(shell pdfedit-core-dev-config --libs) - Способ с использованием autoconf. Исходный пакет pdfedit поставляется с макросом config/pdfedit-core-dev.m4 autoconf, который экспортирует макрос AX_PDFEDIT_CORE_DEV. Просто вызовите его и используйте экспортированные переменные PDFEDIT_CORE_DEV_CPPFLAGS и PDFEDIT_CODE_DEV_LDFLAGS в вашем Makefile. Подробнее о возможных параметрах читайте непосредственно в файле. * Обновите свои источники, которые используют pdfedit-core-dev: - Инициализируйте библиотеку с помощью: if(pdfedit_core_dev_init()) { // Fatal error in initialization exit(); } перед тем, как вызывать любой код, связанный с PDFedit. - Очистите библиотеку в конце, когда pdfedit-core-dev больше не используется: pdfedit_core_dev_destroy(); [См. документацию doxygen для этих функций для получения дополнительной информации].
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )