EclipseのC/C++バージョンを使って簡単なGTKアプリケーションを構築しています。しかし、私はEclipse内からGTKサンプルをコンパイルできないようです。私は単純なHello Worldスタイルのテストアプリケーションをコンパイルすることができるので、ツールチェーン自体が機能していることがわかります。しかし、私がGTKをミックスに追加する瞬間、コンパイラはエラーを出します。面白いのは、Eclipse環境の外のサンプルをコンパイルできることです。たとえば、私はthisページの例を使用しており、そこに記載されている手順に従って、実際のバイナリをビルドすることができます。Eclipse内でC/GTKをコンパイルする
最初の問題は、Eclipseでコンパイルしようとすると、メインGTKインクルードファイルが別々に参照されるということです。
#include <gtk/gtk.h>
ただし、Eclipse内でこれは動作しません。
#include <gtk-2.0/gtk/gtk.h>
インクルードファイルが見つかりましたが、コンパイルプロセスでGtkWidgetタイプに関するエラーがスローされます。例えば:これらのエラーで
#include <gtk-2.0/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;
}
結果:
make all
Building file: ../src/main.c
Invoking: GCC C Compiler
gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/main.d" -MT"src/main.d" -o"src/main.o" "../src/main.c"
../src/main.c: In function ‘main’:
../src/main.c:7: error: ‘GtkWidget’ undeclared (first use in this function)
../src/main.c:7: error: (Each undeclared identifier is reported only once
../src/main.c:7: error: for each function it appears in.)
../src/main.c:7: error: ‘window’ undeclared (first use in this function)
../src/main.c:9: warning: implicit declaration of function ‘gtk_init’
../src/main.c:11: warning: implicit declaration of function ‘gtk_window_new’
../src/main.c:11: error: ‘GTK_WINDOW_TOPLEVEL’ undeclared (first use in this function)
../src/main.c:12: warning: implicit declaration of function ‘gtk_widget_show’
../src/main.c:14: warning: implicit declaration of function ‘gtk_main’
make: *** [src/main.o] Error 1
この取り掛かるする方法がわかりません。どんな援助も非常に高く評価されるだろう。ビルド・パスにgtkのディレクトリを追加する
設定のドロップダウンが見つかりません。 ? –
使用しているEclipseのバージョンとプロジェクトのタイプは何ですか?元の質問は'09からのものなので、EclipseのUIで少し変わったり動いたりするかもしれません。 – Luke