Could not find a package configuration file provided by “DtkCMake“错误解决方法

错误描述:在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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值