Почему webkit-1.0 и gtk+-3.0 содержат более 900 одинаковых символов в файлах.vapi
Как видно из названия, моя проблема в том, что я пытаюсь использовать как gtk 3, так и webkit 1.
Я следую этому примеру https://live.gnome.org/Vala/WebKitSample
за исключением того, что я использую GTK 3 вместо 2.
Я использую valac 0.16.0
Теперь я заметил, что ошибки - это Gdk 2 и Gdk 3 одинаковые символы.
Это похоже на способ решения моей проблемы, но ссылка нестандартная.
Неважно, я исправил это в комплекте webkitgtk.
1 ответ
Вы не можете использовать библиотеку webkit-1.0 с gtk+-3.0, потому что webkit-1.0 зависит от gtk+-2.0 и gdk-2.0, которые конфликтуют с gtk + -3.0 и gdk-3.0. Вы должны использовать библиотеку webkitgtk-3.0, которая имеет тот же API, что и webkit-1.0, но зависит от gtk + -3.0 и gdk-3.0.
Поскольку привязки webkigtk-3.0 не поставляются с Vala ( ошибка 676249), вы должны создать свои собственные привязки (следуйте инструкциям в указанном электронном письме) и сообщить 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