我正在尝试从头编译 Okular这些说明(靠近页面末尾):
git clone https://invent.kde.org/graphics/okular.git
cd okular
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/path/to/your/install/dir ..
make
make install
我用 替换了/path/to/your/install/dir
其中/usr
。
Make 失败(最后几行):
-- Could NOT find KF5JS: found neither KF5JSConfig.cmake nor kf5js-config.cmake
-- Could NOT find KF5Wallet (missing: KF5Wallet_DIR)
-- Could NOT find KF5Wallet: found neither KF5WalletConfig.cmake nor kf5wallet-config.cmake
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
Could NOT find KF5 (missing: Archive Bookmarks Completion Config
ConfigWidgets CoreAddons Crash IconThemes KIO Parts ThreadWeaver
WindowSystem DocTools JS Wallet) (Required is at least version "5.44.0")
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
/usr/local/share/ECM/find-modules/FindKF5.cmake:94 (find_package_handle_standard_args)
CMakeLists.txt:96 (find_package)
先前步骤:
安装了以下额外的 cmake 模块这个答案。
安装 kf5 软件包
sudo apt-get install "libkf5*"
如下这个答案尝试了其他几个技巧,但都没有成功(例如,将 cmake 命令修改为:
cmake -DQT_QMAKE_EXECUTABLE=qmake-qt5 \ -DCMAKE_INSTALL_PREFIX=/usr .. \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -DQT_NO_VERSION_TAGGING=OFF \ -Wno-dev .. && make
)
askubuntu 上的相关帖子:
也许我需要在终端中指定这些包的位置,类似于此解决方案?
或者我需要修改CMakeLists.txt如同此解决方案?
背景:
在 Ubuntu 20.04 LTS 上,使用触控笔和手绘注释工具会产生锯齿状线条,如下所示Reddit 上的这篇文章和此动图显示。另请参阅此主题在 bugtracker 上建议修改./ui/pageviewannotator.cpp
,我认为已经在克隆的 github 版本中实现了(在线程中搜索页面视图注释器)。问题的 TLDR 是,在使用触控笔时,会创建太多点,导致渲染时出现锯齿状。
链接的 gif 截图:手写笔(左)与手指(右)。此处使用粗线条来突出问题。手写笔在其他程序(如 Xournal++)中工作正常。
答案1
解决方案 1
KDE 分为许多模块,而 okular 依赖于其中许多模块。因此,最明智的解决方案可能是使用kdesrc_build 工具。
一旦你得到它你基本上需要运行一个命令
<path-to-binary>/kdesrc_build okular
笔记:
- Okular 依赖大约 80 个模块,因此需要花费一些时间来下载和构建它们。实际上需要花费相当多的时间。而且还会占用几 GB 的数据。
- KDE 具有外部依赖性,您可能需要安装许多额外的开发包。您可以在构建日志中检查缺少的库。但这意味着可能需要运行几次 kdesrc_build。
- 您的应用程序将根据自定义构建的库构建,但在运行时它将链接到您当前正在运行的 KDE 的库(假设您正在运行一个)。如果您不使用最新版本的新方法,它可能会起作用,但这很棘手。在自定义 kde 构建上运行会话之前,最好先检查一下。
解决方案 2
这有点棘手,但如果您想使用系统上已安装的 KDE 版本,可能会节省一些时间。
使用以下命令检查 Okular 实际需要哪些依赖项:
<path-to-binary>/kdesrc_build -list-build okular
使用此列表安装缺少的 kf5 包。请注意,您不仅需要库,还需要开发文件(带有 dev 后缀的包)。
直接使用以下方式构建 okular构建使用您粘贴在问题中的命令,但确保您提供的路径对于您的系统来说是正确的。
笔记:
- cmake 使用 pkg-config 来检测库,因此请确保您已经安装它。
- 您的操作系统可能没有以包的形式提供所有必需的开发文件。