私はValaのとGTKを使用して私の最初のWebKitベースのアプリケーションを構築しようとしています。私はこれらの言語やそれらをコンパイルするプロセスに非常に新しいので、どんな助けも素晴らしいでしょう。は、WebKitの/のWebViewアプリのコンパイルエラーを取得する - ヴァラ/ GTK
これは私が受け取るエラーです:
/home/elementary/GTKProjects/Fookbase/src/fookbase_main.vala:2.7-2.12:エラー:名前空間名 `WebKitが」WebKitのを使用して見つけることができませんでした。
/home/elementary/GTKProjects/Fookbase/src/fookbase_main.vala:13.13-13.19:エラー:タイプ名 'WebView'が見つかりませんでしたprivate WebView web_view;
これは私のコードです:
using Gtk;
using WebKit;
public class Fookbase : Window {
private const string TITLE = "Fookbase";
private const string HOME_URL = "http://fookbase.com";
private const string DEFAULT_PROTOCOL = "http";
private Regex protocol_regex;
private Entry url_bar;
private WebView web_view;
private Label status_bar;
private ToolButton back_button;
private ToolButton forward_button;
private ToolButton reload_button;
public Fookbase() {
this.title = Fookbase.TITLE;
set_default_size (500, 800);
try {
this.protocol_regex = new Regex (".*://.*");
} catch (RegexError e) {
critical ("%s", e.message);
}
create_widgets();
connect_signals();
this.url_bar.grab_focus();
}
private void create_widgets() {
var toolbar = new Toolbar();
this.back_button = new ToolButton.from_stock (Stock.GO_BACK);
this.forward_button = new ToolButton.from_stock (Stock.GO_FORWARD);
this.reload_button = new ToolButton.from_stock (Stock.REFRESH);
toolbar.add (this.back_button);
toolbar.add (this.forward_button);
toolbar.add (this.reload_button);
this.web_view = new WebView();
var scrolled_window = new ScrolledWindow (null, null);
scrolled_window.set_policy (PolicyType.AUTOMATIC, PolicyType.AUTOMATIC);
scrolled_window.add (this.web_view);
this.status_bar.xalign = 0;
var vbox = new VBox (false, 0);
vbox.pack_start (toolbar, false, true, 0);
vbox.pack_start (this.url_bar, false, true, 0);
vbox.add (scrolled_window);
vbox.pack_start (this.status_bar, false, true, 0);
add (vbox);
}
private void connect_signals() {
this.destroy.connect (Gtk.main_quit);
this.url_bar.activate.connect (on_activate);
this.web_view.title_changed.connect ((source, frame, title) => {
this.title = "%s - %s".printf (title, Fookbase.TITLE);
});
this.web_view.load_committed.connect ((source, frame) => {
this.url_bar.text = frame.get_uri();
update_buttons();
});
this.back_button.clicked.connect (this.web_view.go_back);
this.forward_button.clicked.connect (this.web_view.go_forward);
this.reload_button.clicked.connect (this.web_view.reload);
}
private void update_buttons() {
this.back_button.sensitive = this.web_view.can_go_back();
this.forward_button.sensitive = this.web_view.can_go_forward();
}
private void on_activate() {
var url = this.url_bar.text;
if (!this.protocol_regex.match (url)) {
url = "%s://%s".printf (Fookbase.DEFAULT_PROTOCOL, url);
}
this.web_view.open (url);
}
public void start() {
show_all();
this.web_view.open (Fookbase.HOME_URL);
}
public static int main (string[] args) {
Gtk.init (ref args);
var browser = new Fookbase();
browser.start();
Gtk.main();
return 0;
}
}
可能な重複[WebKitの/ webkit.h:そのようなファイルまたはディレクトリ](http://stackoverflow.com/questions/26400755/webkit-webkit-h-no -such-file-or-directory) –
それは実際には重複していませんが、かなり近いです。彼の質問に使用された 'valac'コマンドライン@ serge1peshcoffをチェックしてください。 –
私はバラクラインにwebkitgtk-1.0を持っていました。エラー:指定されたVala APIディレクトリまたはGObject-Introspection GIRディレクトリにパッケージ 'webkitgtk-3.0'が見つかりません コンパイルに失敗しました:1エラーが発生しました。 0警告 –