我正面临以下问题。我通过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/