我有一个带有两个库(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)