忍者ブログ

素人翻訳

適当に翻訳する。

NetBeans Forums GTK+ and C++

出典:http://forums.netbeans.org/ptopic16611.html
Uru Wolf 2009年8月23日(日) 9:39 am

どうも。c++ を netbeans 6.7.1 で使い始めたばかり。どうやったら GTK をコード支援などがある便利な開発環境に載せられるか考えていた。GTK を含むファイル群を netbeans を使わずにコンパイルすることには成功していたが、全てを統合開発環境(IDE)で管理したかった。

現在、必要なヘッダファイルを含んでいないという理由で、GTK を利用した c++ を netbeans 上で走らせることができない。どうしたら必要なヘッダファイルを追加できるだろうか。

Uru Wolf 2009年8月23日(日) 9:44 am

追加情報。

コード支援設定下の C++ コンパイラ・オプションに "/usr/include/gdkmm-2.4" を追加した。
(ツール->オプション->C/C++->コード支援->インクルードディレクトリ)
Netbeans はヘッダファイルを認識するようになったが(赤線を出さなくなった)、依然として実行できない。

Uru Wolf 2009年8月23日(日) 10:25 am

解決した。

プロジェクトの「プロパティ」を開き、「C++コンパイラ」の「追加のオプション」に次の文を加える。

`pkg-config gtkmm-2.4 --cflags --libs`
PR

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が全部インストールしてくれるだろう。

カレンダー

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]

最新記事

ブログ内検索

広告

バーコード

広告