错误描述:在build目录下使用cmake ..构建工程提示如下错误:
CMake Error at CMakeLists.txt:11 (find_package):
By not providing "FindDtkCMake.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "DtkCMake",
but CMake did not find one.
Could not find a package configuration file provided by "DtkCMake" with any
of the following names:
DtkCMakeConfig.cmake
dtkcmake-config.cmake
Add the installation prefix of "DtkCMake" to CMAKE_PREFIX_PATH or set
"DtkCMake_DIR" to a directory containing one of the above files. If
"DtkCMake" provides a separate development package or SDK, be sure it has
been installed.
错误分析:没有找到dtk相关库的.cmake文件,可能原因是未安装dtk相关库、或者安装的库版本与所需不匹配、再或者安装了多个版本的dtk库。
解决方法:
(1) 先使用"apt list libdtk* | grep 已安装"命令确定已安装的dtk库情况
uos@uos-PC:~/Documents/dde-control-center/build$ apt list libdtk* | grep 已安装
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
libdtkcommon-dev/未知,now 5.6.8-1+sign amd64 [已安装,自动]
libdtkcommon/未知,now 5.6.8-1+sign amd64 [已安装,自动]
libdtkcore2/未知,now 2.2.1-1 amd64 [已安装,自动]
libdtkcore5.5-dev/未知,now 5.5.10-1 amd64 [已安装,自动]
libdtkcore5.5/未知,now 5.5.10-1 amd64 [已安装,自动]
libdtkcore5/未知,now 5.6.10.1-1 amd64 [已安装]
libdtkgui5.5-dev/未知,now 5.5.6-1 amd64 [已安装,自动]
libdtkgui5.5/未知,now 5.5.6-1 amd64 [已安装,自动]
libdtkgui5/未知,未知,now 5.6.9.5-1 amd64 [已安装]
libdtkocr/未知,now 1.0.4-1+sign amd64 [已安装,自动]
libdtkwidget2-dev/未知,now 2.2.1-1 amd64 [已安装]
libdtkwidget2/未知,now 2.2.1-1 amd64 [已安装,自动]
libdtkwidget5.5-dev/未知,now 5.5.27-1 amd64 [已安装]
libdtkwidget5.5/未知,now 5.5.27-1 amd64 [已安装,自动]
libdtkwidget5/未知,now 5.6.13.7-1 amd64 [已安装]
(2) 涉及编译开发的库为后缀名带dev的,有以上结果可知当前安装了不同版本的dtk dev相关库,卸载dtk相关的所有dev库,再一个一个安装并使用cmake在卸载,最终确定匹配的依赖库,此处依赖的为libdtkcore-dev与libdtkcore-bin
sudo apt install libdtkcore-dev
sudo aot install libdtkcore5-bin

257

被折叠的 条评论
为什么被折叠?



