你甚至可以用 pkg-config 查看外部库在当前环境下的版本号: pkg-config libwebp --version 可以命令参数可以参考 --help 的输出。 在CMake 中使用 pkg-config 当然一般正式的项目都会使用元构建工具来进行跨平台的工程编译配置的生成,我这边使用的是 CMake,在 CMake 中也可以非常方便的使用 pkg-config: find_pa...
add_executable(${PROJECT_NAME} ${SOURCE_FILES}) #add executable file # 4) package dependency (pkg-config) find_package(PkgConfig REQUIRED) #GTK_INCLUDE_DIRS : HEADER SERARCH PATHS #GTK_LIBRARIES : LIBRARY NAME #GTK_LIBRARY_DIRS : LIBRARY PATHS pkg_check_modules(GTK REQUIRED gtk+-3.0) # ...
使用变量和条件 验证和测试 3.3 高级用法和扩展 变量替换 多平台支持 钩子和脚本 4. 在CMake中集成pkg-config 4.1 基础集成方法 使用find_package(PkgConfig) 查找库 添加编译和链接选项 4.2 自定义pkg-config路径 设置PKG_CONFIG_PATH 使用find_program 验证设置 4.3 高级集成和扩展 条件编译 导入和导出配置 使用...
首先让CMake找到PkgConfig模块: set(PKG_CONFIG_EXECUTABLE "D:/vcpkg/installed/x64-windows/tools/pkg-config.exe") find_package(PkgConfig) 然后通过PkgConfig模块找到你想要找到的第三方库,这里我找一下SDL2: pkg_check_modules(REQUIRED SDL2 SDL2_image SDL2_ttf SDL2_mixer) pkg_search_module(SDL2 R...
Windows下CMake 中使用 pkg-config #set(PKG_CONFIG_EXECUTABLE"F:/vcpkg/packages/pkgconf_x64-windows/tools/pkgconf/pkgconf.exe")#set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH ON)set(PKG_CONFIG_ARGN"--errors-to-stdout""--no-cache""--log-file=F:/pkgconf.log""--with-path=F:/vcpkg/packages/...
2. CMakeLists.txt中使用pkg-config 包括3个具体的步骤: 确定.pc文件绝对路径(例如只提供.pc方式配置),记作$prefix/xxx.pc 在CMakeLists.txt中,分别把$prefix和xxx填写入座: set(ENV{PKG_CONFIG_PATH} $prefix) find_package(PkgConfig) pkg_search_module(MyDepName REQUIRED xxx) ...
了解这些环境变量不仅有助于我们更有效地使用pkg-config,还能让我们更深入地理解依赖管理和项目构建的复杂性。 3..pc文件解析 3.1.pc文件结构 .pc(Package Config)文件是pkg-config工具的核心,它包含了库的元数据,如头文件路径、库文件路径、编译和链接选项等。一个典型的.pc文件包括以下几个部分: ...
1 什么是pkg-config? 2 cmake导入pkg-config? 2.1 安装非默认路径下 2.2 安装默认路径下 3 OpnCV非默认安装(非ROOT执行cmake . .),cmake找不到opencv.pc? 4 源代码 1 什么是pkg-config? 在之前我假定你已经熟悉一些cmake的语法,不会也没关系,百度一下就好了。
为了找到 pkg-config 执行档,首先使用 PKG_CONFIG_EXECUTABLE 变量或者 PKG_CONFIG 环境变量。 pkg_check_modules Checks for all the given modules. 检查所有给出的模块。 pkg_check_modules(<PREFIX> [REQUIRED] [QUIET] [NO_CMAKE_PATH] [NO_CMAKE_ENVIRONMENT_PATH] ...