首先让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库 Linux可以直接apt-get即可: sudoapt-getinstallpkg-config 下面详细说一下Windows如何手动安装: 转到http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/ 下载文件pkg-config_0.26-1_win32.zip 将文件bin / pkg-config.exe解压缩到your_directory/mysy64/ucrt64/bin 下载文...
在默认情况下,每个支持 pkg-config 的库对应的.pc文件在安装后都位于安装目录中的lib/pkgconfig目录下.新软件一般都会安装.pc文件,没有可以自己创建,并且设置环境变量PKG_CONFIG_PATH寻找.pc文件路径,否则怎么找得到呢。使用pkg-config工具提取库的编译和连接参数有两个基本的前提: <1> 库本身在安装的时候必须提供...
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...
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) ...
2 cmake导入pkg-config? 2.1 安装非默认路径下 2.2 安装默认路径下 3 OpnCV非默认安装(非ROOT执行cmake . .),cmake找不到opencv.pc? 4 源代码 1 什么是pkg-config? 在之前我假定你已经熟悉一些cmake的语法,不会也没关系,百度一下就好了。 如果你对pkg-config这种方式管理工程很熟悉,你可以跳到第二部分,...
这将编译项目,并使用pkg-config提供的编译选项和库路径。 使用pkg-config设置创建自己的cmake目标可以方便地管理和配置项目的依赖库。pkg-config可以自动检测库的版本和路径,并提供相应的编译选项,使得项目的构建过程更加简单和可靠。 腾讯云相关产品和产品介绍链接地址: ...
PKG_CONFIG_USE_CMAKE_PREFIX_PATH,如下的缓存和环境变量将被添加到 pkg-config 查找路径:CMAKE_PREFIX_PATH,CMAKE_FRAMEWORK_PATH 和 CMAKE_APPBUNDLE_PATH 。 NO_CMAKE_PATH 和 NO_CMAKE_ENVIRONMENT_PATH 参数分别禁⽤上述的关于缓存变量和环境变量的⾏为。It sets the following variables:设置了如下...
有一些库并没有提供 cmake 文件,往往提供的是 pkg-config 的 .pc 文件,虽然可以在 cmake 中用 include_directories 和 link_directories 来手动指定查找目录,但这样写并不能保证跨平台,甚至同一个库在不同Linux发行版中的位置也不一样,这个时候最好的解决方法就是能够在 cmake 中(优雅地)使用pkg-config提供...
将脚本所在的文件夹加入CMAKE_MODULE_PATH,调用find_package(PROFILER),就会找到系统中安装的gperftools...