问题描述
我正在尝试将 gtk3 包含到我的 C++ 项目中,但是每次 VS2019 尝试编译该项目时,它都会因 CMake 错误而失败:
1> [CMake] -- Checking for module 'gtk+-3.0'
1> [CMake] -- No package 'gtk+-3.0' found
因此我用CMD检查了模块是否存在并返回
C:\>pkg-config --list-all | grep gtk
gtk+-3.0 GTK+ - GTK+ Graphical UI Library
gtk+-broadway-3.0 GTK+ - GTK+ Graphical UI Library
gtk+-win32-3.0 GTK+ - GTK+ Graphical UI Library
我想是因为我安装了多个 MinGW 和 Msys,可能会执行错误的 pkg-config,因此我将 PKG_CONfig_EXECUTABLE 设置为与 cmd 使用的路径相同的路径。我还认为 PKG_CONfig_PATH 可能是原因,但我使用 cmd 命令 message(STATUS $ENV{PKG_CONfig_PATH})
检查了 echo %PKG_CONfig_PATH%
的输出
两个打印
/b/msys64/mingw64/lib/pkgconfig:/b/msys64/mingw64/share/pkgconfig
- 我的假设是 cmake 无法解释 linux 风格的路径?
- 是否可以设置 pkg-config-path ?我已经尝试过:
set(PKG_CONfig_PATH ...)
和set($ENV{PKG_CONfig_PATH} ...)
但不成功
CMakeLists.txt
cmake_minimum_required(VERSION 3.17)
project(testing)
set(CMAKE_CXX_STANDARD 17)
set(PKG_CONfig_EXECUTABLE "B:\\msys64\\usr\\bin\\pkg-config.exe")
message(STATUS $ENV{PKG_CONfig_PATH})
FIND_PACKAGE ( PkgConfig required )
PKG_CHECK_MODULES( GTK required gtk+-3.0 )
INCLUDE_DIRECTORIES ( ${GTK_INCLUDE_Dirs} )
add_subdirectory(src)
系统
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)