2016-07-24 6 views
0

Gnome 3でDebian x64でうまく動作するC++の小さなGTK +アプリケーションを書きました。しかし、Lubuntu x86では動作しません。そこで私はgui.gladeファイルからいくつかのウィジェットを持つウィンドウを作成するテストプログラムを書いていますが、それはLubuntuではうまくいませんが、Debianで動作します。ここでは、テストコードは行く:別のOS上の.gladeファイルに基づくGTK + 3のアプリケーション

#include <gtk/gtk.h> 

void create_window() 
{ 
    GtkBuilder *builder; 
    builder = gtk_builder_new(); 

    gtk_builder_add_from_file (builder, "src/gui.glade", NULL); 
    gtk_builder_connect_signals (builder, NULL); 

    GtkWidget *window; 
    window = GTK_WIDGET (gtk_builder_get_object (builder, "window")); 

    gtk_window_set_title (GTK_WINDOW (window), "Startup Settings"); 
    g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); 

    gtk_widget_show (window); 
} 

int main (int argc, char *argv[]) 
{ 
    gtk_init (&argc, &argv); 
    create_window(); 

    gtk_main(); 
} 

私は++グラムでそれをコンパイルします。

g++ -std=c++11 `pkg-config --cflags gtk+-3.0` test.cpp -rdynamic `pkg-config --libs gtk+-3.0` 

エラー出力:

** (a.out:17864): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files 

(a.out:17864): Gtk-CRITICAL **: gtk_window_set_title: assertion 'GTK_IS_WINDOW (window)' failed 

(a.out:17864): GLib-GObject-WARNING **: invalid (NULL) pointer instance 

(a.out:17864): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed 

(a.out:17864): Gtk-CRITICAL **: gtk_widget_show: assertion 'GTK_IS_WIDGET (widget)' faile 

あなたはgui.glade hereをダウンロードすることができます。

+1

エラーをチェックしてください( 'gtk_builder_add_from_file()'の最後の引数)。 – andlabs

+0

@andlabs、エラーメッセージやコードを取得する方法は?エラー( 'gtk_builder_add_from_file:アサーション 'エラー== NULL || *エラー== null'失敗 ')、' g_print(error-> message) 'を実行できません。 – hant0508

答えて

0

私はgui.gladeというファイルプロパティを開いたばかりで、その問題は明らかになりました。デフォルトでは、GladeにはコンピュータにGTK +の最新バージョンがインストールされている必要があります。私はDebianを不安定なものにしていますので、GTK 3.20です。安定したシステムでテストしたところ、GTK 3.18がインストールされていたので動作しませんでした。

問題を解決するため、私はgui.gladeプロパティをGlageで変更し、必要なGTKバージョンを3.10に減らしました。

関連する問題