msys2 和标头位于'wrong'位置

msys2 and headers in the 'wrong' place

本文关键字:wrong 位置 msys2      更新时间:2023-10-16

好吧,所以,我正在尝试使用msys2构建第三方库,并且我遇到了一些标题,例如gtk.h;我要构建的库期望通过#include <gtk/gtk.h>找到这一点。

现在,在Linux上的经验告诉我,在普通Linux环境下这是正确的;但是,就GTK而言,看来必须是GTK -3.0/gtk/gtk.h,这似乎是我的MSYS错误 - 我错过了我错过的选择步骤MSYS2环境?就像Gentoo下的" Eselect"系统一样,类似于" Pselect GTK-3.0",它会创建一个链接的目录到GTK-3.0/GTK,刚刚称为GTK?

假设您已经使用Pacman安装了mingw-w64-i686-gtk3软件包,并且您正在Mingw 32位壳中运行(MSYS2具有三种使用不同工具链的外壳的不同口味),则可以运行此命令获得GTK3所需的编译标志:

pkg-config gtk+-3.0 --cflags

大多数构建系统都对调用pkg-config有某种支持。基本上,这是获取有关依赖性信息的标准方法。

是时候该链接程序了,您应该用--libs中的COC_4替换--cflags

您只需要告诉编译器在哪里可以找到包含目录:

-I/some/path/to/gtk-3.0