• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Linux GTK+でのコンパイルエラー)

Linux GTK+でのコンパイルエラー

このQ&Aのポイント
  • GKT+でプログラミングをしたいと思い、下記のサイトを見ながらサンプルプログラムをコンパイルしたらエラーが表示されました。
  • エラーの原因がわからず困っています。詳しい方に教えていただきたいです。
  • 参考にしたサイトは「http://samidarehetima.web.fc2.com/howtogtk/top.html#toc_1」です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

alias では上手くいかないようです。 シェル関数を定義して、 gtp(){gcc -o ${1%.c} $1 $(pkg-config --cflags --libs gtk+-3.0);} とすると、 gtp test.c で、test コマンドが出来ました。

noname#262366
質問者

お礼

シェル関数というものを初めて知りました。 おかげさまで問題解決することができました。 ありがとうございました。

その他の回答 (2)

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.2

gtkのライブラリがリンクされていないんでしょうけどリンクされましたか。

noname#262366
質問者

お礼

ありがとうございます。コマンドの一部が間違えていたようです。

回答No.1

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 ベースになっています。

noname#262366
質問者

お礼

ありがとうございます。 書いていただいたコマンドの一部を書き換えて実行したら問題なく動作コンパイルできました。 ただ、サイトに書いてあったエイリアスをするというこのコマンドがうまくできません。 alias gtp='gcc $(pkg-config --cflags --libs gtk+-2.0)'

noname#262366
質問者

補足

ありがとうございます。 自分のPC環境を書くのを忘れていました。 自分はUbuntu12.04でGTK+-2.0をインストールしてました。 3.0で出来るかやってみます。

関連するQ&A