お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2011-11-10 08:04:58

tosi_s
新しいメンバ
登録日: 2009-09-17

ubuntu 11.10で`pkg-config --libs gtk+-2.0'が動作しない。

gtk+-2.0を使用した簡単なグラフィックスプログラムを作ったところ、11.04では正常にコンパイルできたのに以下のエラーメッセージが
でてコンパイルエラーとなってしまいます。
make -f makefile-2a
gcc -g `pkg-config --cflags gtk+-2.0` -c circle-2.c
gcc -g `pkg-config --libs gtk+-2.0`  circle-2.o -o circle-2
circle-2.o: In function `window_destroy':
/home/shi/data/pic/circle-2.c:28: undefined reference to `gtk_main_quit'
circle-2.o: In function `SetColor':
/home/shi/data/pic/circle-2.c:40: undefined reference to `gdk_colormap_get_system'
/home/shi/data/pic/circle-2.c:40: undefined reference to `gdk_color_alloc'
/home/shi/data/pic/circle-2.c:41: undefined reference to `gdk_gc_set_foreground'
                              .
                              .
                              .
/home/shi/data/pic/circle-2.c:122: undefined reference to `gtk_main'
collect2: ld はステータス 1 で終了しました
make: *** [circle-2] エラー 1
なおlibgtk2.0.0-devは、インストールされています。

pkg-config  --libs gtk+-2.0の結果は
-pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0

でした。

どこに問題があるかわかりません。
諸賢のご教授を頂きたいのですが。

オフライン

 

#2 2011-11-10 10:52:24

weyk
メンバ
登録日: 2009-04-03

Re: ubuntu 11.10で`pkg-config --libs gtk+-2.0'が動作しない。

 未確認で申し訳ないのですが、ざっと、Ubuntuのパッケージ一覧を見た感じですと、11.10からGTKが3.0系に変更になっているということは無いでしょうか。
 と、すると、11.04までは、特に追加でパッケージを入れることなくgtk2.0上の開発が出来ていたものが、11.10では、そのままでは出来ない ということにつじつまが合うとも割れます。
と、すると、以下のいずれかになりそうです。
・gtk-2.0系をインストールして、今までどおり開発する。
・gtk-3.0系で動作するよう、(必要であれば)ソースの修正を行なう。makeファイルの修正だけですむ可能性も有ります。

お勧めは、とりあえずは、makefileを修正して3.0系でコンパイル・リンクしてみるのが良いかと思います。それでだめなら、改めて2.0系のインストールかソースの修正かを比較検討し始めても遅くは無い と思いますし。

オフライン

 

#3 2011-11-10 13:32:47

tosi_s
新しいメンバ
登録日: 2009-09-17

Re: ubuntu 11.10で`pkg-config --libs gtk+-2.0'が動作しない。

ご意見ありがとうございます。
その後、pkg-configの結果すべてを引数にして、コンパイルしたところ、正常にコンパイルできました。
どうも、 不思議な話です。

オフライン

 

Board footer

Powered by FluxBB