我安装了msys2和mingw-gcc,gtk3包。
pacman -S mingw-w64-i686-toolchain
pacman -S mingw-w64-i686-gtk3
然后我尝试构建测试代码。
// main.c
#include <stdio.h>
#include <gtk\gtk.h>
int main()
{
printf("hello, msys2!");
return 0;
}
但是这个测试代码没有构建错误。
main.c:2:21: fatal error: gtk\gtk.h: No such file or directory
我检查了gtk.h的位置并修复并重建了。
// #include <gtk\gtk.h> -> #include <gtk-3.0\gtk\gtk.h>
C:/msys32/mingw32/include/gtk-3.0/gtk/gtk.h:30:21: fatal error: gdk/gdk.h: No such file or directory
我想我的错误是我不知道的。
答案 0 :(得分:2)
并阅读gcc选项。
gcc `pkg-config --cflags gtk+-3.0` -o example-0 example-0.c `pkg-config --libs gtk+-3.0`
答案 1 :(得分:-1)
在开始时(使用MSYS2编译)我使用以下命令(或类似的东西)提出的问题和程序相同:
gcc `pkg-config --cflags gtk+-3.0` hello.c -o hello `pkg-config --libs gtk+-3.0`
然而错误信息仍然存在......因此,经过一些互联网研究,我发现我必须输入(在我的情况下)以下命令:
export PKG_CONFIG_PATH=/mingw32/lib/pkgconfig
或
export PKG_CONFIG_PATH=/mingw64/lib/pkgconfig
他们使用之前引用的编译命令,然后事情开始变得更好,我能够编译并运行我的程序。
令人伤心的事情(很多其中之一)是我每次重新启动MSYS2时都必须执行此过程。我不再需要这样做的建议: - )
另一个令人遗憾的事实是,在重新安装新版本的MSYS2(以及我的计算机中的Codeblocks)之后,我仍然可以编译程序,但是由于zlib1.dll的错误,它们没有运行。
消息是
"The procedure entry point inflateReset2 could not be located in
the dynamic link library zlib1.dll"