2011-07-15 9 views
3

OS:Windows 7のgtkmmのコンパイルエラー

コンパイラ:MinGWの

IDE:コード::ブロック

私は、フォルダCに自分のコンピュータ上のgtkmmをインストール

は:/ gtkmmの/と設定サンプルプログラム。私がそれをコンパイルすると、エラー "gtkmm.h:そのようなファイルやディレクトリはありません"

PATH変数をC:/ gtkmm/includeとC:/gtkmm/gtkmm-2.4に設定しようとしましたが、 。次に、#include "C:/gtkmm/include/gtkmm-2.4/gtkmm.h"を使って試してみましたが、数十のファイルがどこにあるのか分からないという大量のエラーがありました。

また、pkg-config gtkmm-2.4 --cflags --libsをコンパイラオプションに入れる必要があると聞いてきましたが、それもうまくいきませんでした。

私は間違っていますが、どうすれば修正できますか?

+0

configure.ac

PKG_CHECK_MODULES([GTKMM], [gtkmm-3.0]) 

及びこれらの行に次の行を追加しますか? – ConsciousCode

答えて

1

pkg-configは、cflagsとlibパスをコンパイラ行に追加するためのヘルパ関数です。

ライブラリとcflagsパスをコンパイラ行に追加するだけです。 。私はUbuntuの11.04で

かかわらず、あなたはこれらすべてのも簡単なのgtkmmプログラムコンパイルする必要があり、コード::ブロックでそれを行う方法は100%を確認していない:

Libsのを(PKG-config設定--libs gtkmmの-2.4:

-pthread -lgtkmm-2.4 -latkmm-1.6 -lgdkmm-2.4 -lgiomm-2.4 -lpangomm-1.4 -lgtk-x11-2.0 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lm -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0

CFLAGSパス(PKG-設定--clfagsのgtkmm-2.4):

-I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gio-unix-2.0/ -I/usr/include/gtkmm-2.4 -I/usr/lib/gtkmm-2.4/include -I/usr/include/atkmm-1.6 -I/usr/include/giomm-2.4 -I/usr/lib/giomm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/lib/pangomm-1.4/include -I/usr/include/gtk-2.0 -I/usr/include/gtk-unix-print-2.0 -I/usr/include/gdkmm-2.4 -I/usr/lib/gdkmm-2.4/include -I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/cairomm-1.0 -I/usr/lib/cairomm-1.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/lib/gtk-2.0/include -I/usr/include/gdk-pixbuf-2.0

は、基本的にあなたがc:\path-to-library\

/usr/include//usr/lib/のすべてのインスタンスを変更する必要があります私はあなたがMinGWのに必要な上記のどのくらいわからないが、Linux上のGCCで、それらのいずれかをドロップするとgtkmmのプログラムがコンパイルされないことができます。少なくとも、あなたを正しい道に導くことを望みます。

+0

まあ、それは本当に吸う...たぶん私は/私のためにそれを行うプロジェクトテンプレートを見つけることができます。 – ConsciousCode

+0

はい、Linux上のgtkmmプログラミングの利点の1つです。そのすべてが簡単なコマンドでうまく包まれています。 できればEclipseをチェックアウトします。それはインクルードディレクトリとライブラリを追加する非常に簡単な方法を持っています。 – senshikaze

1

PATH変数はどういう意味ですか?グローバルウィンドウはPATHで実行可能ファイルを検索しますか?それは間違っているだろう。

IDEでInclude search pathまたはheader search pathなどを検索する必要があります。

pkg-configコマンドは、コマンドラインで実行すると機能しますか?このようなpkg-configは、unixシステム上で使用されたときバッククォート `で囲まれているため、出力によって置換されます。あなたのIDEがそれを行うことができるかどうかは分かりませんが、コマンドラインから動作する場合は、少なくとも必要なすべてのインクルードのリストがあります。

0

autotools C++プロジェクトを使用します。 2つのファイルconfigure.acMakefile.amだけを編集する必要があります。 は誰も知らないんMakefile.am

program_CPPFLAGS = $(GTKMM_CFLAGS) 

program_LDADD = $(GTKMM_LIBS)