好的,我正在尝试使用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?
答案 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