Ubuntu feisty fawnでGTK+とgccを使ってプログラミングをしたいのですが、コンパイルで手間取ってしまいました。
ソース
#include <gtk/gtk.h>
int main(int argc,char *argv[]){
GtkWidget *window;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
gtk_main();
return 0;
}
インストールしたパッケージ
libgtk-2.0
pkg-config0.21-1build1
gcc-4.1
gcc-4.1-base
これをコンパイルするときに
cc -o base base.c 'pkg-config --cflags --libs gtk+-2.0'
でやると
cc: pkg-config --cflags --libs gtk+-2.0: No such file or directory
base.c:1:21: error: gtk/gtk.h: No such file or directory
base.c: In function ‘main’:
base.c:4: error: ‘GtkWidget’ undeclared (first use in this function)
base.c:4: error: (Each undeclared identifier is reported only once
base.c:4: error: for each function it appears in.)
base.c:4: error: ‘window’ undeclared (first use in this function)
base.c:8: error: ‘GTK_WINDOW_TOPLEVEL’ undeclared (first use in this function)
ちなみに単体でpkg-config --cflags --libs gtk+-2.0でコマンドを打った場合、
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
となっていました。
どなたか解決方法をご存知のかたはいませんでしょうか?
No.3ベストアンサー
- 回答日時:
> ちなみに単体でpkg-config --cflags --libs gtk+-2.0でコマンドを打った場合、
というのから考えると、
cc -o base base.c 'pkg-config --cflags --libs gtk+-2.0'
ここで使っているクォートはバッククォートの間違い?
まあ展開した結果を使って makefile 書いておくのが無難でしょう。
No.1
- 回答日時:
推測ですが、
gcc -o base base.c -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
にライブラリがあるなんちゃらlibディレクトリ -L/usr/lib/gtk-2.0 など、ライブラリのあるディレクトリを -L オプションで指定してやればいいのではないですかね?^^ X Window も使っているようなので、リンカが文句を言ってきたら -L で指定してやればうまくいくんじゃないですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Red Hat ES 3にPHP5.2.5インス...
-
コンパイルエラー
-
Smartyの設定について
-
PHPをバージョンアップしたらCR...
-
リモートデスクトップ接続でパ...
-
同一のホスト名で何か問題があ...
-
”Tortoise SVN” と ”Subversio...
-
sftpのバッチモード(Solaris)
-
SSH + rsyncがダメです
-
DNSサーバを設定したのですがns...
-
AWSでSSH接続をしたいのですが...
-
循環参照にならない方法があっ...
-
「DNSサーバーを自動的に取得す...
-
ドメインに参加しようとするとD...
-
rlogin と rhosts の設定
-
TortoiseSVNでアクセスエラー
-
Real VNCが頻繁に切断されます
-
パスワード設定していないユー...
-
iPadの受信メールが消える
-
sambaにWinからアクセスできま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHP5.2.9インストール時に、 Or...
-
お使いの PHP MySQL ライブラリ...
-
コンパイルエラー
-
linux-C言語(gcc)でPostgresql
-
Red Hat ES 3にPHP5.2.5インス...
-
php4とphp5の混在 .iniファイル...
-
cygwinのgccによるコンパイルう...
-
fedora php pdoでdb2接続方法
-
Ubuntu feisy fawnでGTK+のプロ...
-
パスワード設定していないユー...
-
同一のホスト名で何か問題があ...
-
DNSサーバを設定したのですがns...
-
リモートデスクトップ接続でパ...
-
AWSでSSH接続をしたいのですが...
-
エラーメールで"too many hops"...
-
エクセルで#N/Aを含めた平均値...
-
Mailの送信済みメールボックス...
-
”Tortoise SVN” と ”Subversio...
-
循環参照にならない方法があっ...
-
iPadの受信メールが消える
おすすめ情報