忍者ブログ

素人翻訳

適当に翻訳する。

gtk/gtk.h の問題

出典:http://www.cplusplus.com/forum/unices/40030/

ivanBG 2011年4月5日12:31am

gtk によるプログラミングを勉強している。Ubuntu 10.10を使っていて、次の文をコンパイルしたい。(gtk の最初の教本)

#include <gtk/gtk.h>
int main(int argc, char *argc[])
{
   GtkWidget *window;
   gtk_init (&argc, &argv);
   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   gtk_widget_show (window);
   gtk_main ();
   return 0;
}

g++ と gcc が"gtk/gtk.h"を見つけられない、という問題が発生。
"gtk.cpp:1: fatal error: gtk/gtk.h: No such file or directory compilation terminated."
既に libgtk2.0-dev をインストールしているが上手くいかない。
どうすればいいのか。お願いします。

Athar 2011年4月5日1:02am

外部ファイルまでの道筋(include path)を設定していない。
翻訳器(コンパイラ)への指示に加える文:`pkg-config gtk+-2.0 --cflags`
連結器(リンカ)への指示に加える文  :`pkg-config gtk+-2.0 --libs`

gtkmm というものもある。C++ を使うのならそちらの方がいいかもしれない。

ivanBG 2011年4月6日12:19am

命令を正しい構文で書くと、どういう文になるのか?
Windowsを使っていたので、そういった翻訳器にはまだ慣れていない。

Athar 2011年4月6日12:22am

例:

g++ main.cpp -Os -s `pkg-config gtk+-2.0 --cflags` `pkg-config gtk+-2.0 --libs`

main関数の二番目の引数が最初のものと同じ名前になっている。
二番目は普通 argv を使う。

ivanBG 2011年4月6日12:41am

命令の構文を直し、翻訳してみた:

g++ gtk.cpp -Os -s `pkg-config gtk+-2.0 --cflags` `pkg-config gtk+-2.0 --libs`

こんな結果が出た:

gtk.cpp: In function ‘int main(int, char**)’:
gtk.cpp:5: error: ‘GtkWidget’ was not declared in this scope
gtk.cpp:5: error: ‘window’ was not declared in this scope
gtk.cpp:7: error: ‘gtk_init’ was not declared in this scope
gtk.cpp:9: error: ‘GTK_WINDOW_TOPLEVEL’ was not declared in this scope
gtk.cpp:9: error: ‘gtk_window_new’ was not declared in this scope
gtk.cpp:10: error: ‘gtk_widget_show’ was not declared in this scope
gtk.cpp:12: error: ‘gtk_main’ was not declared in this scope

解決しました。ありがとう。

Athar 2011年4月6日1:01am

おかしい。私の場合、Ubuntu 10.10 で、このやり方で翻訳に成功したのだが。
多分、参照し忘れているファイル群(パッケージ)があるのだろう。
libgtkmm-2.4-dev をインストールしてみるといい。
欠落している依存ファイルがどんなものであろうとも、libgtkmm-2.4-devが全部インストールしてくれるだろう。

PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

カレンダー

03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

最新コメント

[08/18 NONAME]
[05/18 NONAME]
[04/09 NONAME]
[03/21 NONAME]
[03/20 NONAME]

最新記事

ブログ内検索

広告

バーコード

広告