я использую poppler Qt5
Библиотека веб-интерфейса pdf для демонстрационного приложения для чтения PDF, и я сделал следующие шаги для сборки и установки poppler:
1. $ git clone https://anongit.freedesktop.org/git/poppler/poppler.git
2. $ cd poppler && mkdir build && cd build
3. $ cmake -DCMAKE_INSTALL_LIBDIR="~/devinstall/poppler" -DENABLE_XPDF_HEADERS=ON -DCMAKE_INSTALL_PREFIX=~/devinstall/poppler ..
4. $ make -j8 && make install
Попплер установлен на ~/devinstall/poppler
и теперь я сделал каталог $ mkdir demoApp && cd demoApp
где я напишу мой CMakeLists.txt
а также main.cpp
исходный файл:
1. $ vim main.cpp //written code for the demo app that will use poppler library to open a PDF document and show annotations on it
2. $ vim CMakeLists.txt
Вот мой CMakeLists.txt
файл:
cmake_minimum_required(VERSION 2.8.12)
project(demoApp)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings)
include(FeatureSummary)
find_package(Qt5Core)
find_package(Qt5Gui)
find_package(Qt5Widgets)
find_package(KF5 5.2 REQUIRED COMPONENTS TextWidgets)
# On Ubuntu: apt-get install extra-cmake-modules
# It includes /usr/share/ECM/find-modules/FindPoppler.cmake
find_package(ECM REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH})
# Point CMake to the pkgconfig files (*.pc) of our local poppler installation
# Assumption: Poppler was configured like
# $ cmake -DCMAKE_INSTALL_LIBDIR="~/devinstall/poppler" -DENABLE_XPDF_HEADERS=ON [...]
set(ENV{PKG_CONFIG_PATH} "$ENV{HOME}/devinstall/poppler/lib/pkgconfig")
find_package(PkgConfig REQUIRED)
find_package(Poppler REQUIRED Qt5)
add_executable(demoApp main.cpp)
target_include_directories(demoApp PRIVATE ${Poppler_INCLUDE_DIRS})
target_link_libraries(demoApp Qt5::Core Qt5::Gui Qt5::Widgets Poppler::Qt5 KF5::TextWidgets)
$ mkdir build && cd build
$ cmake .. && make -j8
$ ./demoApp
DemoApp работает успешно, но изменения, внесенные в цвет шрифта аннотаций после клонирования poppler, не отражаются. Я думаю, что он использует Ubuntu для установки библиотеки poppler. Как заставить demoApp использовать локальный модифицированный попплер вместо установленного?
Задача ещё не решена.
Других решений пока нет …