# bfl (Bayesian Filtering Library)是一个使用pkg-config的第三方库 # 先搜索cmake自己的PkgConfig模块,才能使用pkg_check_modulesfind_package(PkgConfig)pkg_check_modules(BFL REQUIRED orocos-bfl) 其中PkgConfig的路径在/opt/ros/kinetic/share/ros/core/rosbuild/FindPkgConfig.cmake 搜索对应库文件,发现在以...
set(IMPORTED_JPEG_LIBRARIES ${JPEG_LIBRARIES}) else() find_package(PkgConfig REQUIRED) find_package(PkgConfig) pkg_check_modules(JPEG libjpeg) if(JPEG_FOUND) message(STATUS "JPEG found by pkgconfig") 0 comments on commit 41ce0b0 Please sign in to comment. Footer...
find_package(OpenCV REQUIRED PATHS /usr/local/share/OpenCV NO_DEFAULT_PATH) c.pkg_check_module 编译安装第三方库时,会根据安装位置生成.pc文件,里面记录了头文件、库文件等的地址信息,将.pc文件路径加入pkg-config的环境变量PKG_CONFIG_PATH作为搜索路径。比如linux默认搜索路径/lib/pkgconfig。 pkg_check_modu...
[MODULE]:find_package默认的查找方式是先module模式查找,如果查找失败则进行config模式查找。但是如果加入了MODULE选项,那么就是只在MODULE模式查找,如果MODULE模式查找失败并不会切换到CONFIG模式继续查找。 [REQUIRED]:表示一定要找到包,找不到的话就立刻停掉整个cmake流程,如果不指定REQUIRED则cmake会继续执行。 [[CO...
include(CMakePackageConfigHelpers) # Source of truth for project version @@ -107,11 +106,12 @@ else() endif() # Find dependencies find_package(PkgConfig REQUIRED) set(GMP_MIN_VERSION 6.2.1) find_package(gmp ${GMP_MIN_VERSION} REQUIRED) set(MPFR_MIN_VERSION 4.1.0) pkg_check_modules(...
或者对于一些轻量级的包,本身并不提供XXXConfig.cmake或者FindXXX.cmake,而是使用其他包管理器(比如package-config,使用后缀为.pc的文件来管理),若想使用find_package()引用这些包,就需要自行编写FindXXX.cmake文件。(当然也可以直接使用cmake中的pkg_check_modules()来引用这些包)。下面给出一个FindXXX.cmake的例...
REQUIRED参数表示如果找不到这个包,CMake会报错并停止配置过程。 3. 确认所需的包是否已经正确安装 如果find_package命令无法找到指定的包,可能是因为该包尚未安装,或者安装路径没有被CMake正确识别。你可以通过以下方式检查包的安装情况: 在命令行中验证:例如,如果你正在查找OpenCV库,可以在终端中输入pkg-config --...
include(FindPackageHandleStandardArgs)find_package_handle_standard_args(mymathFOUND_VARmymath_FOUNDREQUIRED_VARSmymath_LIBRARY mymath_INCLUDE_DIRVERSION_VARmymath_VERSION) 3.2 编写自己的Findmymath.cmake文件 假定我们使用的库mymath已经提供了.pc文件,并能够通过pkg-config方式找到它(可以通过pkg-on...
find_package(Protobuf REQUIRED CONFIG) # 找不到 也即是:MODULE模式下找到了protobuf。而MODULE模式下无非是先后从CMAKE_MODULE_PATH所指示的路径、cmake安装的Modules目录(如~/soft/cmake/share/cmake-3.17/Modules),根据FindProtobuf.cmake来查找。CMAKE_MODULE_PATH变量默认为空,而cmake安装目录下的FindProto...
add_executable(my_bin src/my_bin.cpp)find_package(OpenCV REQUIRED)include_directories(${OpenCV_INCLUDE_DIRS})target_link_libraries(my_bin, ${OpenCV_LIBS}) 工作流程如下: find_package在一些目录中查找OpenCV的配置文件。 找到后,find_package会将头文件目录设置到${OpenCV_INCLUDE_DIRS}中,将链接库设置...