これは重複する質問ではないと私は思っています。私はここで別の状況があると思う。GTK 3とUbuntuのCプロジェクトをコンパイルしてリンクする
私はUbuntu 12.04を使用し、GTK 2と3をダウンロードしました。 GNOMEのウェブサイトから簡単なGTKソースコードをコピーしました。私はターミナルで次のコマンドを使用する場合でも:
gcc `pkg-config --cflags --libs gtk+-3.0` hello.c -o hello
私はこれを取得:ここ
hello.c:(.text+0x17): undefined reference to `gtk_init'
hello.c:(.text+0x23): undefined reference to `gtk_window_new'
hello.c:(.text+0x47): undefined reference to `gtk_main_quit'
hello.c:(.text+0x5b): undefined reference to `g_signal_connect_data'
hello.c:(.text+0x67): undefined reference to `gtk_widget_show'
hello.c:(.text+0x6c): undefined reference to `gtk_main'
は私のコードです:
#include <gtk/gtk.h>
int
main (int argc,
char *argv[])
{
GtkWidget *window;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
gtk_widget_show (window);
gtk_main();
return 0;
}
は私が持っているので、エラーが表示されている場合はわかりませんGTK +の2つのバージョンまたは何か。 私はUbuntu/Linuxのアプリケーション開発で非常に初心者です。
コンパイルはgccのhello.c $ 'として(PKG-config設定--cflags --libs GTK + -3.0)-o hello'すなわちソース –
ああ私の神、それは働いた。どうもありがとうございます。答えとしてマークするには、以下の答えを記入してください。 – Anwar