- ベストアンサー
Linux GTK+でのコンパイルエラー
- GKT+でプログラミングをしたいと思い、下記のサイトを見ながらサンプルプログラムをコンパイルしたらエラーが表示されました。
- エラーの原因がわからず困っています。詳しい方に教えていただきたいです。
- 参考にしたサイトは「http://samidarehetima.web.fc2.com/howtogtk/top.html#toc_1」です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
alias では上手くいかないようです。 シェル関数を定義して、 gtp(){gcc -o ${1%.c} $1 $(pkg-config --cflags --libs gtk+-3.0);} とすると、 gtp test.c で、test コマンドが出来ました。
その他の回答 (2)
- wormhole
- ベストアンサー率28% (1626/5665)
gtkのライブラリがリンクされていないんでしょうけどリンクされましたか。
お礼
ありがとうございます。コマンドの一部が間違えていたようです。
- MillenniuM
- ベストアンサー率58% (42/72)
GTK+ 関係のヘッダファイルがインストールされていないか、 コンパイル時に指定していないのだと思います。 こちらでは、 gcc -o test test.c $(pkg-config --cflags gtk+-3.0) $(pkg-config --libs gtk+-3.0) でコンパイルでき、Quit ボタンが表示されました。 環境は、 pkg-config --cflags gtk+-3.0 -pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12 pkg-config --libs gtk+-3.0 -lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0 です。Ubuntu14.04 なので、GTK+-3.0 ベースになっています。
お礼
ありがとうございます。 書いていただいたコマンドの一部を書き換えて実行したら問題なく動作コンパイルできました。 ただ、サイトに書いてあったエイリアスをするというこのコマンドがうまくできません。 alias gtp='gcc $(pkg-config --cflags --libs gtk+-2.0)'
補足
ありがとうございます。 自分のPC環境を書くのを忘れていました。 自分はUbuntu12.04でGTK+-2.0をインストールしてました。 3.0で出来るかやってみます。
お礼
シェル関数というものを初めて知りました。 おかげさまで問題解決することができました。 ありがとうございました。