使用pkg_check_modules查找库: 在设置了PKG_CONFIG_PATH之后,就可以使用pkg_check_modules来查找库了。 例如,要查找名为libavfilter的库,可以使用以下命令: cmake pkg_check_modules(AVFILTER REQUIRED libavfilter) 这将解析libavfilter.pc文件,并将相关信息(如头文件路径和库文件路径)保存到CMake变量中,如AVFILT...
.pc 文件的搜索路径是通过环境变量 PKG_CONFIG_PATH 来设置的,pkg-config 将按照设置路径的先后顺序进行搜索,直到找到指定的 .pc 文件为止。 安装完 Glib 后,在 bash 中应该进行如下设置: $ export PKG_CONFIG_PATH=/opt/gtk/lib/pkgconfig:$PKG_CONFIG_PATH 可以执行下面的命令检查是否 /opt/gtk/lib/pkgcon...
pkg_check_modules是 CMake 自己的pkg-config模块的一个用来简化的封装:你不用再检查 CMake 的版本,加载合适的模块,检查是否被加载,等等,参数和传给 find_package 的一样:先是待返回变量的前缀,然后是包名(pkg-config 的)。这样就定义了<prefix>_INCLUDE_DIRS和其他的这类变量,后续的用法就与find_package一致。
首先它搜索${CMAKE_MODULE_PATH}中的所有路径,然后搜索/usr/share/cmake-3.5/Modules.比如find_package(Boost)搜索的文件是/usr/share/cmake-3.5/Modules/FindBoost.cmake 如果在 CMakeLists.txt 中没有下面的指令: 1 set(CMAKE_MODULE_PATH"Findxxx.cmake文件所在的路径") 那么cmake 不会搜索CMAKE_MODULE...
cmake 3.6版本以后用于查找pkg-config格式安装包的pkg_check_modules宏增加了一个IMPORTED_TARGET参数。 参见https://cmake.org/cmake/help/v3.6/module/FindPkgConfig.html 指定IMPORTED_TARGET参数,则创建名为PkgConfig::<PREFIX>的imported target,可以直接作为参数传递给target_link_libraries()。使用imported targ...
pkg_check_modules(my_deps REQUIRED IMPORTED_TARGET libpng libwebp) endif() 首先利用 CMake 的 find_package 机制找到本地的 pkg-config,如果成功找到,则有两种办法查找外部库: pkg_check_modules:根据列表中给的外部库,在当前环境下都试着去找到
# configure.ac 文件 PKG_CHECK_MODULES([LIBFOO], [libfoo >= 1.0]) 5.3 动态生成.pc文件 在某些情况下,我们可能需要动态生成.pc文件。这通常在软件的安装过程中完成。 代码示例:动态生成.pc文件 # 动态生成 libfoo.pc 文件 echo "prefix=/usr/local" > libfoo.pc echo "libdir=\${prefix}/lib" >...
如同pkg_check_modules(),但是代替它检查给定的模块并使用第一个工作的。 pkg_search_module(<PREFIX> [REQUIRED] [QUIET] [NO_CMAKE_PATH] [NO_CMAKE_ENVIRONMENT_PATH] <MODULE> [<MODULE>]*) Examples 例如 pkg_search_module (BAR libxml-2.0 libxml2 libxml>=2) ...
checknr(1) chgrp(1) chgrp(1g) chkey(1) chmod(1) chmod(1g) chown(1) chown(1B) chown(1g) chroot(1g) ckdate(1) ckgid(1) ckint(1) ckitem(1) ckkeywd(1) ckpath(1) ckrange(1) ckstr(1) cksum(1) cksum(1g) cktime(1) ckuid(1) ckyorn(1) clear(1) clear(1g) clisp-lin...
PKG_CONFIG_USE_CMAKE_PREFIX_PATH Specifies whether pkg_check_modules() and pkg_search_module() should add the paths in the CMAKE_PREFIX_PATH, CMAKE_FRAMEWORK_PATH and CMAKE_APPBUNDLE_PATH cache and environment variables to the pkg-config search path. If this variable is not set, this be...