我正面临以下问题。我通过MSYS64安装了GTK + -3.0和pkg-config。 pkg-config.exe位于C:\msys64\usr\bin中,我将其添加到Windows环境的PATH中。如果我跑步

pkg-config gtk+-3.0 --cflags


结果,我得到了一系列包含到msys上安装的驱动器(在cmd.exe或msys shell下运行)的驱动器的包含路径。

-mms-bitfields -pthread -mms-bitfields -I/mingw64/include/gtk-3.0 -I/mingw64/include/cairo [and_so_on...]


现在,我正在尝试将Eclipse设置为GTK开发(我想避免使用pkg-config软件包,但这会带来相同的问题)。如果我将pkg-config的内容添加到编译器的命令行模式和链接器选项中,那么(很明显)不会包含任何内容

fatal error: gtkmm.h: No such file or directory


如何使pkg-config指向Windows下的绝对路径? (C:\msys64\......
我正在努力解决这个(可能很乏味的)问题,但找不到解决方案。

最佳答案

gtkmm是GTK +的一个独立项目。正确的#include

#include <gtkmm.h>


正确的pkg-config参数是gtkmm-3.0

您还安装了gtkmm和pkg-config的MSYS版本。您需要安装MinGW-w64版本才能进行有意义的开发(否则,所有内容都将与MSYS绑定在一起,这就是为什么获得Unix路径而不是Windows路径的原因)。这很容易:返回pacman行并将msys前缀更改为适合目标CPU体系结构的mingw前缀。您可以使用pacman -Ss thing(在本例中为pacman -Ss gtkmm)查看确切名称的列表。然后,运行该体系结构的MinGW Shell而不是MSYS Shell。

Be sure to follow the official tutorial as well.

关于c++ - 如何在Windows下运行通过MSYS安装的pkg-config(对于GTK + -3.0),并获取绝对路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40509552/

10-12 21:20