将kde下框架的源码编译后安装使用
配置环境和依赖
根据kcrash源码的cmakelist文件可知该项目的主要环境和依赖包括:
qt6.6以上;EMC6.4(KDE下EMC框架,其他地方没找到这个版本的EMC),KCoreAddons(KDE下KCoreAddons框架)。
将EMC源码编译后安装使用
Extra CMake Modules (ECM) 是一组用于简化 CMake 脚本编写的模块,它提供了一些额外的功能和改进,使得跨平台项目构建更加方便。以下是编译并使用 ECM 的步骤:
克隆源代码:
使用 Git 克隆 ECM 的源代码仓库到本地机器。
git clone https://invent.kde.org/frameworks/extra-cmake-modules.git
创建构建目录:
在克隆的 ECM 目录中创建一个构建目录并进入该目录。
cd extra-cmake-modules
mkdir build
cd build
配置构建:
使用 CMake 配置构建系统。你可以指定安装的前缀路径,或者使用默认设置。
cmake ..
或者,如果你想安装到特定的路径:
cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/installation
编译源代码:
使用 CMake 构建项目。这通常通过 make 命令完成,但如果你使用的是其他构建系统,如 Ninja,命令可能不同。
make
安装 ECM(可选):
编译完成后,你可以将 ECM 安装到系统上,这样其他项目就可以通过查找安装的 ECM 来使用它。
sudo make install
如果你不想安装到系统路径,可以跳过这一步,直接在项目的 CMakeLists.txt 中包含 ECM 的路径。
使用 ECM
在你的 CMake 项目中,你可以在 CMakeLists.txt 文件中包含 ECM 路径,以便使用它提供的模块:
cmake_minimum_required(VERSION 3.5)
project(YourProjectName)
确保 ECM 路径正确
set(ECM_DIR /path/to/extra-cmake-modules) # 或者使用 cmake -DCMAKE_MODULE_PATH=...
include(ECMAddUninstallTarget)
include(ECMGenerateHeaders)
include(ECMSetupVersion)
配置你的项目:
使用 ECM 提供的模块来配置你的项目,例如,设置版本、添加编译选项、生成头文件等。
编译你的项目:
在项目根目录下运行 CMake 来生成构建系统,然后编译你的项目。
cmake .
make
请注意,如果你将 ECM 安装到了系统路径,那么在其他项目中使用时就不需要指定 ECM_DIR,因为 CMake 会自动找到它。如果你选择不安装,那么你需要在每个使用 ECM 的项目的 CMakeLists.txt 文件中指定 ECM_DIR 变量的路径。
将KCoreAddons源码编译后安装使用
KCoreAddons 是 KDE 的一个库,提供了一系列用于 Qt 应用程序的附加功能。以下是编译并使用 KCoreAddons 的一般步骤:
安装依赖:
KCoreAddons 可能依赖于 KDE 的其他库和工具,以及 Qt。使用 KDE 软件通常需要安装一些基础依赖。在 Ubuntu 上,你可以使用以下命令安装基本的 KDE 依赖:
sudo apt-get install build-essential cmake qtbase5-dev libkf5coreaddons-dev
注意:上面的命令安装了开发库,实际编译时可能需要更多依赖。
获取源代码:
从 KDE 的源代码仓库克隆 KCoreAddons:
git clone https://invent.kde.org/frameworks/kcoreaddons.git
创建构建目录:
在源代码目录中创建一个构建目录并进入该目录:
cd kcoreaddons
mkdir build
cd build
配置构建:
使用 CMake 配置构建选项。你可以指定安装的前缀路径,或者使用默认设置:
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/kde
如果你不需要特定的安装路径,可以省略 -DCMAKE_INSTALL_PREFIX 选项。
编译源代码:
使用 make 命令编译源代码:
make
安装 KCoreAddons(可选):
编译完成后,你可以安装 KCoreAddons 到系统上:
sudo make install
这会将 KCoreAddons 安装到你指定的(或默认的)安装路径。
使用 KCoreAddons:
在你的 Qt/KDE 项目中,你可以在 CMakeLists.txt 或 *.pro 文件中链接 KCoreAddons。如果你安装了 KCoreAddons,CMake 或 qmake 应该能够自动找到它。如果没有安装,你可能需要指定库的路径。
对于 CMake,你可以添加以下内容:
find_package(ECM REQUIRED NO_MODULE)
...
find_package(KF5CoreAddons REQUIRED)
...
target_link_libraries(your_target_name PRIVATE KF6CoreAddons::KCoreAddons)
遇到的问题:
1、明明已安装qt6确却在cmake时报错显示无法找到qt6;
找到qt6安装路径:/opt/Qt/,并在.bashrc文件末尾加入以下路径
export PATH=$PATH:/opt/Qt/6.6.3/gcc_64
2、提前要考虑的问题:二次开发的工具软件如何自动安装以上依赖