私はlibgtk-3-dev
をインストールし、このコードを書いてコンパイルしました(エラーなしで)。
#include <gtk/gtk.h>
void destroy(void) {
gtk_main_quit();
}
int main (int argc, char** argv) {
GtkWidget* window;
GtkWidget* image;
gtk_init (&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
image = gtk_image_new_from_file(argv[1]);
g_signal_connect(G_OBJECT (window), "destroy",
G_CALLBACK (destroy), NULL);
gtk_container_add(GTK_CONTAINER (window), image);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
しかし、実行可能ファイルを実行しようとした後、それは言う:
(process:5771): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
Failed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused
(img:5771): Gtk-WARNING **: cannot open display:
私はUbuntu-server 16/04を使用し、xorg, xserver-xorg-video-fbdev, openbox
パッケージもインストールしたと言うべきです。起動後に灰色の空白の画面に黒いマウスがあり、右クリックメニューが表示されます。
編集:ボードに接続するために次のコマンドを使用しました:ssh [email protected] -X
次にプログラムが動作し、./img 1.png
によって画像が開かれましたが、ラップトップでsshに使用しました!ノートパソコンではなく、ボードのLCDで画像を開くのが好きでした。
また、ターミナルでこのメッセージが表示されます:
(process:1909): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
解決策:ボードにキーボードを接続してターミナルを開き(openboxウィンドウ内を右クリックして)、プログラムを正常に実行したところ、SPI LCD!
キーボードをボードに接続してターミナルを開き(openboxウィンドウ内を右クリックして)、プログラムを正常に実行したところ、SPI LCD!
受け取ったエラーは次のとおりです。
(process:1909): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
Img実行可能ファイルは、ボードに接続されているLCDモニターに表示するのではなく、ラップトップでフォールバックモードで画像を表示しています。LCD画面Openboardでボードに出力が出力されます:
gcc-5はGNU Cコンパイラで、コードのコンパイルに使用したUbuntu 16.04にインストールされています。
gcc-5 `pkg-config --cflags gtk+-3.0` -o img img.c `pkg-config --libs gtk+-3.0`