正如标题所说我的问题是我尝试同时使用gtk 3和webkit 1。
我正在关注此示例https://live.gnome.org/Vala/WebKitSample
除了我使用gtk 3而不是2。
我正在使用valac 0.16.0
我现在已经注意到错误是Gdk 2和Gdk 3相同的符号。
这似乎是一种解决我的问题的方法link 但它是非标准的。
没关系,我已经用捆绑的webkitgtk修复了它。
答案 0 :(得分:1)
你不能将库webkit-1.0与gtk + -3.0一起使用,因为webkit-1.0依赖于与gtk + -3.0和gdk-3.0冲突的gtk + -2.0和gdk-2.0。你必须使用与webkit-1.0具有相同API的库webkitgtk-3.0,但它依赖于gtk + -3.0和gdk-3.0。
由于vala(bug 676249)未附带webkigtk-3.0绑定,因此您必须创建自己的绑定(按照the mentioned e-mail中的说明操作)并告诉valac您的webkigtk-3.0.vapi文件所在的位置位于(--vapidir=.
)。
$ ls
webkitgtk-3.0.deps webkitgtk-3.0.vapi webkit-sample.vala
$ valac --vapidir=. --pkg gtk+-3.0 --pkg webkitgtk-3.0 --thread webkit-sample.vala
/tmp/fenryxo/webkit-sample.vala.c: In function ‘vala_browser_create_widgets’:
/tmp/fenryxo/webkit-sample.vala.c:206:2: warning: ‘gtk_vbox_new’ is deprecated (declared at /usr/include/gtk-3.0/gtk/deprecated/gtkvbox.h:60): Use 'gtk_box_new' instead [-Wdeprecated-declarations]
$ ls
webkitgtk-3.0.deps webkitgtk-3.0.vapi webkit-sample webkit-sample.vala