我对C的理解很差。我可以阅读代码,但我不知道如何包含/构建/制作/配置任何东西。这可能是我无法编译以下 Go 代码的原因。这段代码是我尝试将https://developer.gnome.org/gtk3/3.0/gtk-getting-started.html改编为 Go 的尝试。package main// #cgo pkg-config: gtk+-3.0// #include <gtk/gtk.h>import "C"func main() { C.gtk_init(nil, nil) window := C.gtk_window_new(C.GTK_WINDOW_TOPLEVEL) C.g_signal_connect(window, "destroy", C.G_CALLBACK(C.gtk_main_quit), nil) C.gtk_widget_show(window) C.gtk_main()}违规行是C.g_signal_connect(...)。错误是:1: error: 'G_CALLBACK' undeclared (first use in this function)1: error: 'g_signal_connect' undeclared (first use in this function)1: note: each undeclared identifier is reported only once for each function it appears in如果我删除该行,则代码会起作用并且 gtk 窗口会打开。我发现这g_signal_connect来自glib-object.h,它包含在gtk. 我试图自己包含它:// #cgo pkg-config: gtk+-3.0 glib-2.0// #include <gtk/gtk.h>// #include <glib-object.h>但它没有解决任何问题。有谁知道我做错了什么?
- 1 回答
- 0 关注
- 260 浏览
添加回答
举报
0/150
提交
取消