首先让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...
pkg-config是一个用于检查和配置编译和链接过程中依赖库的工具。它可以帮助开发者在编译和链接时自动获取所需的库的路径和编译选项。 要使用pkg-config设置创建自己的cmake目标,可以按照以下步骤进行操作: 确保系统已经安装了pkg-config工具。如果没有安装,可以通过包管理器进行安装。
与PKG_CONFIG_PATH不同,设置这个变量会完全替换默认路径,而不是在默认路径的基础上添加。 # 示例export PKG_CONFIG_LIBDIR=/custom/lib/pkgconfig PKG_CONFIG_ALLOW_SYSTEM_CFLAGS和PKG_CONFIG_ALLOW_SYSTEM_LIBS 这两个环境变量用于控制是否允许pkg-config使用系统级别的CFLAGS和LIBS。这在交叉编译或特殊环境中可能非...
pkg-config是一个用于管理库文件的工具,它能帮助开发者更轻松地管理项目依赖和编译设置。这个工具在Linux和Unix系统中尤为常见,但也有Windows版本。它的主要作用是提供一种简洁、一致的方式来获取库的编译和链接信息。 1.1 pkg-config的重要性 在开发大型软件或者多依赖项目时,手动管理库和头文件路径不仅繁琐,而且容易...
CMake的pkg-config模块。 Finds the pkg-config executable and add the pkg_check_modules() and pkg_search_module() commands. 查找pkg-config 执行档并且添加 pkg_check_modules() 和 pkg_search_module() 命令。 In order to find the pkg-config executable, it uses the PKG_CONFIG_EXECUTABLE variable...
可以识别pkg-config指令 接下来说两个其他思路: 网上有一种思路是让pkg-config单独成目录,我没有尝试,但是要记得添加进Path 还有一种说法可以用choco指令安装: choco install pkgconfiglite 这个我也没试,大家可以尝试 最后粘三个参考: https://www.codenong.com/1710922/ ...
CMake的pkg-config模块。Finds the pkg-config executable and add the pkg_check_modules() and pkg_search_module() commands.查找 pkg-config 执⾏档并且添加 pkg_check_modules() 和 pkg_search_module() 命令。In order to find the pkg-config executable, it uses the PKG_CONFIG_EXECUTABLE variable ...
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) ...
有一些库并没有提供 cmake 文件,往往提供的是 pkg-config 的 .pc 文件,虽然可以在 cmake 中用 include_directories 和 link_directories 来手动指定查找目录,但这样写并不能保证跨平台,甚至同一个库在不同Linux发行版中的位置也不一样,这个时候最好的解决方法就是能够在 cmake 中(优雅地)使用pkg-config提供...
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 target...