Windows 11 上的 CMake pkg-config 返回错误:“‘virtual:world’需要,未找到”

问题描述 投票:0回答:1

我正准备在 Windows 11 上编译 GTK+-3.0 测试应用程序。我有一个在 Linux 上运行良好的 CMake 配置。

我已经使用 msys2 安装了 GTK 3.0,遵循以下说明:https://www.gtk.org/docs/installations/windows/

我更新了全局环境变量

PATH
(附加
C:\tools\msys64\mingw64\bin
),并创建了全局环境变量
PKG_CONFIG_PATH
,其中包含包含所有 .pc 文件的目录路径 (
C:\tools\msys64\mingw64\lib\pkgconfig
)。当我运行
pkg-config.exe --list-all
时,列表包含 GTK+-3.0 并且运行
pkg-config.exe --print-variables --debug gtk+-3.0
会给出合理的输出,没有任何错误。

我在我的 CMake 配置中使用它:

find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK REQUIRED IMPORTED_TARGET "gtk+-3.0")

在 Windows 上,我收到错误:

-- Checking for module 'gtk+-3.0'
--   Package 'gtk+-3.0', required by 'virtual:world', not found
CMake Error at C:/Program Files/CMake/share/cmake-3.25/Modules FindPkgConfig.cmake:607 (message):
  A required package was not found
Call Stack (most recent call first):
  C:/Program Files/CMake/share/cmake-3.25/Modules FindPkgConfig.cmake:829 (_pkg_check_modules_internal)
  CMakeLists.txt:35 (pkg_check_modules)

当我尝试配置环境变量时,每当

PKG_CONFIG_PATH
没有指向包含文件
gtk+-3.0.pc
的目录时,我都会遇到相同的错误。在我看来,
required by 'virtual:world', not found
更多的是缺少 .pc 文件的一般错误,而不是实际缺少的要求。

我已经看过这篇文章:set PKG_CONFIG_PATH in cmake但建议的解决方案对我没有帮助。当我也在 CMake 配置中设置环境变量

PKG_CONFIG_PATH
时,我仍然遇到相同的错误。

我根本不经常使用Windows。对于经验丰富的 Windows 用户来说,我错过了一些非常明显的东西,这并非不可能。

windows cmake gtk3 msys2 pkg-config
1个回答
0
投票

无论是从MSYS2环境调用CMake,还是在从Windows命令提示符调用CMake的Windows安装时额外设置全局环境变量MSYSTEM,都可以帮助我解决这个问题。

从 MSYS2 环境调用 CMake 似乎是更简单、更值得推荐的选项。

© www.soinside.com 2019 - 2024. All rights reserved.