小编Rod*_*eti的帖子

cmake引用了以下导入的目标,但丢失了

我有一个带有两个库(liba和libb)的存储库,而liba取决于libb。它们是单个存储库的一部分,并使用单个cmake“上下文”构建。文件结构如下所示:

??? CMakeLists.txt
??? liba
?   ??? CMakeLists.txt
?   ??? internal
?   ?   ??? private.hh
?   ??? module.cc
?   ??? module.hh
??? libb
    ??? CMakeLists.txt
    ??? other.cc
    ??? other.hh
Run Code Online (Sandbox Code Playgroud)

一切都可以编译并安装,没有任何问题。虽然,如果我尝试创建一个依赖liba的新项目。像这样:

cmake_minimum_required(VERSION 3.5)

find_package(Threads REQUIRED)
find_package(OpenCV REQUIRED)
find_package(liba REQUIRED)

add_executable(exec exec.cc)
target_link_libraries(exec PRIVATE is::liba)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

CMake Error at CMakeLists.txt:5 (find_package):
  Found package configuration file:

    /home/hodor/is-sdk/lib/cmake/liba/libaConfig.cmake

  but it set liba_FOUND to FALSE so package "liba" is considered to be NOT
  FOUND.  Reason given by package:

  The following imported targets are referenced, but …
Run Code Online (Sandbox Code Playgroud)

c++ cmake

4
推荐指数
1
解决办法
1014
查看次数

标签 统计

c++ ×1

cmake ×1