在Arch Linux上,升級到Gnome 3.14之後,我對Webkit2Gtk有幾個麻煩。致命錯誤:webkit2/webkit2.h:沒有這樣的文件或目錄
瓦拉: 考慮以下VALA測試:
using Gtk;
using WebKit;
public class ValaWebkit : Window {
private WebView web_view;
public ValaWebkit(){
this.title = "Testing youtube";
set_default_size (800, 600);
web_view = new WebView();
add(web_view);
//this.web_view.open ("http://www.youtube.com/");
this.web_view.load_uri ("https://www.youtube.com/");
}
public static int main (string[] args) {
Gtk.init (ref args);
new ValaWebkit().show_all();
Gtk.main();
return 0;
}
}
升級到GNOME 3.14之前,我可以copile這樣valac --pkg gtk+-3.0 --pkg webkit2gtk-3.0 --vapidir . valawebkit.vala
(我不是在這裏粘貼webkit2gtk-3.0.vapi因爲它太長了)。現在,隨着GNOME 3.14,如果我嘗試編譯我得到
/home/luca/Sources/vala/webkit test/valawebkit.vala.c:8:29: fatal error: webkit2/webkit2.h: No such file or directory
#include <webkit2/webkit2.h>
^
compilation terminated.
error: cc exited with status 256
Compilation failed: 1 error(s), 0 warning(s)
而且,如果我嘗試運行,我收到升級到GNOME 3.14編譯的二進制文件,我得到這個錯誤:
./valawebkit: error while loading shared libraries: libwebkit2gtk-3.0.so.25: cannot open shared object file: No such file or directory
2 )GJS/Eclipse中/的Java(SWT): 如果我運行要麼this gjs example,或者Eclipse(LUNA)或任何其他SWT 4.4基於應用程序,我得到如下:
No bp log location saved, using default.
[000:000] Cpu: 6.58.9, x4, 2600Mhz, 7847MB
[000:000] Computer model: Not available
[000:000] Browser XEmbed support present: 1
[000:000] Browser toolkit is Gtk2.
[000:004] Using Gtk2 toolkit
[000:004] Warning(optionsfile.cc:47): Load: Could not open file, err=2
[000:004] No bp log location saved, using default.
我有個感覺它在ArchLinux和Gnome 3.14上是一種包裝問題。有沒有人有同樣的問題?是否有解決方法來編譯和運行webkit2gtk?
編輯 我做了一個小的進展:我發現我需要一個頭文件現在/usr/include/webkitgtk3.0
和/usr/include/libsoup-2.4
下。現在,編譯如下:
valac --pkg gtk+-3.0 --pkg webkit2gtk-3.0 --vapidir . --Xcc="-I/usr/include/webkitgtk-3.0" --Xcc "-I/usr/include/libsoup-2.4" --thread valawebkit.vala
的作品,但它窗臺失敗有關鏈接:
/tmp/ccQGhB3b.o: In function `vala_webkit_construct':
valawebkit.vala.c:(.text+0x6e): undefined reference to `webkit_web_view_new'
valawebkit.vala.c:(.text+0x101): undefined reference to `webkit_web_view_load_uri'
collect2: error: ld returned 1 exit status
error: cc exited with status 256
Compilation failed: 1 error(s), 0 warning(s)
你應該*不*混合來自不同版本的頭文件和二進制文件。由於不兼容,這可能會導致ABI損壞。 – apmasell 2014-10-29 10:41:18