find_package(Eigen3 REQUIRED) ######添加这一行,添加Eigen库
find_package(osqp REQUIRED)
find_package(orocos_kdl QUIET)
find_package(iir QUIET)
REQUIRED和QUIET代表啥意思
find_package命令中的REQUIRED和QUIET选项代表不同的意思:REQUIRED:
- 指定该库是必需的,如果没有找到,会终止CMake过程并报错。
- 表示这个库是必须依赖,找不到就无法进行后续编译。QUIET:
- 如果找不到该库,不输出错误或警告信息。
- 查找失败也不会终止CMake,仅仅是不导入该库。
- 表示这个库是可选依赖,找不到也可以继续编译。所以:find_package(Eigen3 REQUIRED)
- Eigen3库是必需的,如果没找到会报错。find_package(osqp REQUIRED)
- osqp库也是必需的。find_package(orocos_kdl QUIET)
- orocos_kdl库是可选的,如果没找到也不报错,只是不导入。find_package(iir QUIET)
- iir库也是可选的。总结:
REQUIRED - 必需库,没找到会报错
QUIET - 可选库,找不到不报错
功能包中的任意文件夹当需要在程序中找到时,都应该在find_pckage中去添加文件名,例如
src中有panda_msg,需要在程序中使用这个文件夹中的某个文件
那么可以再cmakelists中加入