msys2和标题中的错误'地点

时间:2017-11-30 11:47:32

标签: c++ windows cmake header msys2

好的,我正在尝试使用msys2构建第三方库,并且我遇到了一些问题,例如gtk.h;我试图建立的图书馆希望通过#include <gtk/gtk.h>找到它。

现在,Linux上的经验告诉我在正常的Linux环境下是正确的;但是,在gtk的情况下,它似乎必须是gtk-3.0 / gtk / gtk.h,这对我来说似乎是msys中的一个错误 - 是否有某种选择步骤我在设置中错过了我的msys2环境?就像&#39; eselect&#39; Gentoo下的系统,类似于&#39; pselect gtk-3.0&#39;这将创建一个链接目录到gtk-3.0 / gtk刚刚调用gtk?

2 个答案:

答案 0 :(得分:1)

假设您已经使用pacman安装了mingw-w64-i686-gtk3包,并且您在MinGW 32位shell中运行(MSYS2有三种不同类型的shell使用不同的工具链),您可以运行此命令来获取GTK3所需的编译标志:

pkg-config gtk+-3.0 --cflags

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

如果是时候关联您的计划,您应该将--cflags中的--libs替换为List<Object> array = new ArrayList<>(); array.add(Boolean.TRUE); array.add("someStringValue"); array.stream(). filter(String.class::isInstance). forEach((o) -> System.out.println("String = " + o));

答案 1 :(得分:0)

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

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