映画のエンドロール観る派?観ない派?

GTKというライブラリで、ソースを書いてコンパイルした所
数え切れない程のエラーがでてしまう(実際のソースコードは10行未満)インクルードファイルに色々構文エラーがあるみたいですが、リンクに指定するライブラリを間違えたのでしょうか。
もし間違えたのならどのライブラリとリンクすれば良いのか教えてください。(これかなと思うライブラリを色々リンクしてみましたが無理でした)


ちなみに、コンパイルしたOSはLinuxでTurboLinuxというディストリビューションです。
そしてコンパイルに使ったコマンドは下記の様に書きました

gcc -o GTK gtk.c -I /usr/include/gtk -lgtk -L /usr/lib

A 回答 (4件)

必要なライブラリ


* The GTK ライブラリ (-lgtk)
* The GDK ライブラリ (-lgdk),
* The GLib ライブラリ (-lglib)
* The Xlib ライブラリ (-lX11)
* The Xext ライブラリ (-lXext)
* The math ライブラリ (-lm)

コマンド
gcc -o GTK gtk.c `gtk-config -- cflags --libs`
gtk-configを使えば必要なインクルードディレクトリのリストとリンクすべきライブラリと、その場所を返します。
    • good
    • 0
この回答へのお礼

ありがとうございました

それで解決できました。

お礼日時:2006/02/25 21:04

> /usr/include/gtk/gtktext.h:156: error: 構文解析エラー が '*' トークンの前にあり ます



この手のエラーのほとんどが、直前の文に';'を付け忘れているときに起こります。
または、'('、'{'の整合性が取れていないときですね。
gtkは、gtk.hのインクリュードだけで良いんじゃない?
    • good
    • 0

gtkは使ってないので一般人+自信なし



エラーのようすをみるとライブラリまでいってませんよ。

このようなエラーの場合、よくあるミスは、#includeの手前に何か変なものがあるケースですね。もしくは#includeの順番が指定されている場合です。

gcc -c gtk.c -I/usr/include/gtk 2>&1 | head -20

などして最初に何が出てくるのか調べてみましょう。
最初に出てくるエラーを解決すると全部直ることもあります。
    • good
    • 0

まず、どんなエラーが出るか表示しないと、回答できません。



パッと気が付いたところだと、

> gcc -o GTK gtk.c -I /usr/include/gtk -lgtk -L /usr/lib

は、

> gcc -o GTK gtk.c -I/usr/include/gtk -lgtk -L/usr/lib

ではないですか?
-Iオプションと-Lオプションの後ろは空白なしだったと思います。

以下、manより。

-Idir ディレクトリ dir を、インクルードファイルの検索するディレクトリのリスト中に追加します。

-Ldir ディレクトリ dir を `-l' による検索が行なわれるディレクトリのリストに加えます。
    • good
    • 0
この回答へのお礼

あまりに多いので全てのエラーはこの掲示板の文字数制限のためかけませんがしたの様なエラーが大量にでます



/usr/include/gtk/gtktext.h:156: error: 構文解析エラー が '*' トークンの前にあり ます
/usr/include/gtk/gtktext.h:162: error: 'timer' redeclared as different kind of symbol
/usr/include/gtk/gtkspinbutton.h:82: error: previous declaration of 'timer' was here
/usr/include/gtk/gtktext.h:162: error: 'timer' redeclared as different kind of symbol
/usr/include/gtk/gtkrange.h:113: error: previous declaration of 'timer' was here
/usr/include/gtk/gtktext.h:164: error: 構文解析エラー が "button" の前にあります
/usr/include/gtk/gtktext.h:165: error: 構文解析エラー が '*' トークンの前にあり ます
/usr/include/gtk/gtktext.h:166: error: 構文解析エラー が '}' トークンの前にあり ます
/usr/include/gtk/gtktext.h:170: error: 領域 `parent_class' は不完全な型です
/usr/include/gtk/gtktext.h:178: error: 構文解析エラー が "gtk_text_get_type" の 前にあります
/usr/include/gtk/gtktext.h:191: error: 構文解析エラー が "guint" の前にあります
/usr/include/gtk/gtktext.h:192: error: 構文解析エラー が "gtk_text_get_point" の前にあります
/usr/include/gtk/gtktext.h:193: error: 構文解析エラー が "gtk_text_get_length" の前にあります
/usr/include/gtk/gtktext.h:197: error: 構文解析エラー が "GdkFont" の前にありま す
/usr/include/gtk/gtktext.h:203: error: 構文解析エラー が "guint" の前にあります
/usr/include/gtk/gtktext.h:203: error: `gtk_text_backward_delete' は関数を返す関数として宣言されています
/usr/include/gtk/gtktext.h:205: error: 構文解析エラー が "guint" の前にあります
/usr/include/gtk/gtktext.h:205: error: `gtk_text_forward_delete' は関数を返す関 数として宣言されています
In file included from /usr/include/gtk/gtk.h:120,
from gtktest.c:1:
/usr/include/gtk/gtkthemes.h:46: error: 構文解析エラー が "guint" の前にあります

お礼日時:2006/02/18 23:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!