使用方法 首先让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...
Ubuntu:sudo apt install pkg-config Windows: 下载pkg-config-lite。注意Anaconda/Miniconda中也带了pkg-config,但实测cmake中无法使用。为避免冲突,这里不把pkg-config-lite版的可执行文件路径放PATH系统环境变量,而是在cmake中单独配置: set(PKG_CONFIG_EXECUTABLE "D:/soft/pkg-config/bin/pkg-config.exe") 2...
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:/vc...
虽然可以在 cmake 中用 include_directories 和 link_directories 来手动指定查找目录,但这样写并不能保证跨平台,甚至同一个库在不同Linux发行版中的位置也不一样,这个时候最好的解决方法就是能够在 cmake 中(优雅地)使用pkg-config提供的信息。
通常是在POSIX系统(Linux,MacOS等)使用pkg-config,解决第三方依赖项配置问题。 近些年来随着CMake的越发流行,原本用pkg-config的很多软件包提供了cmake的配置作为替代;少部分仍然提供.pc文件作为兼容考虑;还有另外一小部分的软件包,即使基于cmake构建了,对外提供依赖配置时仍然只有.pc文件。
第二,尽可能避免手动调用pkg-config。CMake附带了一组丰富的包定义,可以在Linux的/usr/share/cmake-...
第二,尽可能避免手动调用pkg-config。CMake附带了一组丰富的包定义,可以在Linux的/usr/share/cmake-...
在cmake中如何使用 find_package(PkgConfig) pkg_check_modules(GTKMM gtkmm-2.4) link_directories(${GTKMM_LIBRARY_DIRS}) include_directories(${GTKMM_INCLUDE_DIRS}) add_executable(test_exe main.cpp) target_link_libraries(test_exe ${GTKMM_LIBRARIES}) ...