【发布时间】:2018-12-31 22:16:34
【问题描述】:
我目前正在使用 Eigen 开发一个卡尔曼滤波库,并且我已经成功地让它在我的开发 Mac 上运行。现在我正在尝试使用 Travis CI 进行设置,而 CMake 无法找到包。首先我sudo apt install libeigen3-dev,然后尝试使用以下配置运行cmake:
cmake_minimum_required(VERSION 3.0)
project(KFilter VERSION 0.1.0)
find_package (Eigen3 REQUIRED NO_MODULE)
add_library(KFilter KFilter.cpp)
target_link_libraries(KFilter Eigen3::Eigen)
这在我的 Mac 上构建得很好,但在 Travis CI 中会出现以下错误:
CMake Error at CMakeLists.txt:5 (add_library):
Target "KFilter" links to target "Eigen3::Eigen" but the target was not
found. Perhaps a find_package() call is missing for an IMPORTED target, or
an ALIAS target is missing?
当 find_package 似乎成功时,为什么我会在第 5 行收到此错误?我正在关注 Eigen 网站上的 this 指南。
Travis CI 正在运行带有 CMake 3.12 和 Eigen3 debian 软件包的 Ubuntu 16.04,而我的 Mac 正在运行带有通过自制软件安装的 Eigen 的 CMake 3.13。我真的很困惑为什么 CMake 的行为不同。
【问题讨论】:
标签: cmake travis-ci eigen eigen3