C 代码::阻止Windows GTK生成错误

C 代码::阻止Windows GTK生成错误,c,gtk,codeblocks,gtk3,build-error,C,Gtk,Codeblocks,Gtk3,Build Error,我使用代码块和GTK3.x版本。安装之后,我想试试。出现以下生成消息 找不到-lgtk-win32-2.0 有人能帮我吗。谢谢如您所见,默认情况下,代码块配置为使用Gtk+-2.0: gcc -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pang

我使用代码块和GTK3.x版本。安装之后,我想试试。出现以下生成消息

找不到-lgtk-win32-2.0


有人能帮我吗。谢谢

如您所见,默认情况下,代码块配置为使用Gtk+-2.0:

gcc -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/libpng15 -Wall -g  -c /root/test/main.c -o obj/Debug/main.o
g++  -o bin/Debug/test obj/Debug/main.o  -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfontconfig -lgobject-2.0 -lglib-2.0 -lfreetype  
因此,您需要告诉它切换到
Gtk+-3.0
。到那里并不完全容易。在项目中,选择属性:

在那里,转到项目的构建选项,在底部:

然后,切换到链接器设置:

右边是pkg config调用,以获取您可以在回答顶部的
gcc
调用中看到的选项。将
2.0
更改为
3.0
将调用
Gtk+-3.0
的选项

注意:编辑时要小心,以保留“回标记”(逆“重音”或单引号)

还要注意Gtk库实际上被称为
Gtk+
,因此版本
3.0
被称为
Gtk+-3.0
(例如,用于
pkg config


这应该可以做到。

如果您使用的是
GTK 3.x版本
,那么您可能需要为3.0版本提供库选项<代码>-lgtk-win32-2.0看起来它会尝试使用我在链接库上拥有的GTK 2.0:GTK-win32-2.0 | gobject-2.0 | glib-2.0。在我写的其他链接器选项上:
pkg config gtk+2.0--libs
但它不工作请注意,jcoppens告诉您键入
gtk+-3.0
,而不是
gtk-2.0
。那就是
gtk
,然后是加号(
+
),然后是破折号(
-
),然后是
3.0
。谢谢@liberforce。整个+-问题相当混乱。我编辑了一点文本。是的,我同意。事实上,该工具包被命名为
gtk
,并在很久以前成为
gtk+
,当时它已被转换为更面向对象的工具。破折号作为程序包名称和程序包版本(GTK的1.x、2.x和3.x版本(以及不久的将来的4.x版本)之间的分隔符,可并行安装。