繁体   English   中英

Windows 7代码块中的gdk(gtk3)

[英]gdk (gtk3) in codeblocks on windows 7

我已经在Windows 7的代码块13.2中配置了gtk3 +(我已将gtk2 +更改为gtk3 +),并创建了新的gtk +(示例)项目。 此示例项目已编译并正常运行。

接下来,我包括gdk:

#include <gdk/gdk.h>

但是,当我添加以下行时:

gdk_init(&argc, &argv);

GdkScreen *screen = gdk_screen_get_default();`

我有2个错误:

未定义对'gdk_init'的引用和
未定义对“ gdk_screen_get_default”的引用

问题出在哪儿? 我正在寻找具体的解决方案。

编译日志:

||=== Build: Debug in gtk4test (compiler: GNU GCC Compiler) ===|
C:\myp\gtk4test\main.c||In function 'main':|
C:\myp\gtk4test\main.c|37|warning: 'gtk_vbox_new' is deprecated (declared at C:\gtk\include\gtk-3.0/gtk/deprecated/gtkvbox.h:60): Use 'gtk_box_new' instead [-Wdeprecated-declarations]|
C:\myp\gtk4test\main.c|53|warning: unused variable 'screen' [-Wunused-variable]|
obj\Debug\main.o||In function `main':|
C:\myp\gtk4test\main.c|52|undefined reference to `gdk_init'|
C:\myp\gtk4test\main.c|53|undefined reference to `gdk_screen_get_default'|
||=== Build failed: 2 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===|

如果您已经调用过gtk_init,则不应调用gdk_init(因为gtk_init也可以调用它)。 通常,您应该只调用gdk函数。

如果出于某种原因需要gdk_init(),则必须添加

gcc ... `pkg-config --libs --cflags  gdk-3.0` ...

到编译行。 请注意,您可能还必须重新配置IDE以使用gdk3而不是gdk2。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM