• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:gcc gtkコンパイル,エラーの内容がわからない)

gcc gtkコンパイル、エラーの内容がわからない

mainPCの回答

  • ベストアンサー
  • mainPC
  • ベストアンサー率21% (62/287)
回答No.1

> ibm_cairo_logo.c:238:32: error: ‘GtkWidget {aka struct _GtkWidget}’ has no member named ‘window’ > cr = gdk_cairo_create (widget->window); 上記の通り、struct GtkWidgetにwindowというメンバーが無いのでエラーになっています。

purogu2017
質問者

お礼

回答ありがとうございます。GtkWidgetについて調べてみます。

関連するQ&A

  • Ubuntu feisy fawnでGTK+のプログラミングのコンパイルにて

    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 となっていました。 どなたか解決方法をご存知のかたはいませんでしょうか?

  • Linux GTK+でのコンパイルエラー

    GKT+でプログラミングをしたいと思い、下記のサイトを見ながらサンプルプログラムをコンパイルしたら下のようなエラーが表示されました。原因が全くわからず困っています。わかる方教えてください。 【参考にしたサイト】 http://samidarehetima.web.fc2.com/howtogtk/top.html#toc_1 【コード】 #include <gtk/gtk.h> //ボタンがクリックされたときに呼び出される関数 static void button_clicked(GtkWidget *button, gpointer user_data) { gtk_main_quit(); } int main(int argc, char** argv){ GtkWidget *window; gtk_init(&argc,&argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_widget_set_size_request(window,300,200); { //ボタンを作成する。 GtkWidget *button; button = gtk_button_new_with_label("Quit"); //ボタンをwindowに乗っける。 gtk_container_add(GTK_CONTAINER(window), button); //ボタンにclickedと表示し,押された時はbutton_clicked()を呼び出す。 g_signal_connect (G_OBJECT(button), "clicked" , G_CALLBACK(button_clicked), NULL); } g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL); //windowの上にある物も全て表示する。(_allが付くことに注意) gtk_widget_show_all(window); gtk_main(); return 0; } 【エラー】 /tmp/ccmjmPda.o: In function `button_clicked': test.c:(.text+0x7): undefined reference to `gtk_main_quit' /tmp/ccmjmPda.o: In function `main': test.c:(.text+0x25): undefined reference to `gtk_init' test.c:(.text+0x31): undefined reference to `gtk_window_new' test.c:(.text+0x51): undefined reference to `gtk_widget_set_size_request' test.c:(.text+0x5d): undefined reference to `gtk_button_new_with_label' test.c:(.text+0x66): undefined reference to `gtk_container_get_type' test.c:(.text+0x76): undefined reference to `g_type_check_instance_cast' test.c:(.text+0x86): undefined reference to `gtk_container_add' test.c:(.text+0x9f): undefined reference to `g_type_check_instance_cast' test.c:(.text+0xcb): undefined reference to `g_signal_connect_data' test.c:(.text+0xeb): undefined reference to `gtk_main_quit' test.c:(.text+0xff): undefined reference to `g_signal_connect_data' test.c:(.text+0x10b): undefined reference to `gtk_widget_show_all' test.c:(.text+0x110): undefined reference to `gtk_main' collect2: ld はステータス 1 で終了しました

  • gtk2 gladeのc++ビルド

    OpenIndiana に gtk2 library/desktop/gtk2 0.5.11(ビルド5.11-0.151.1.2) glade developer/ui-designer/glade 0.5.11(ビルド 5.11-0.151.1.2) パッケージをインストールして、 NetBeans IDE 7.1をつかって、c++で下記プログラムをビルドしてみようとしたのですが、 ビルドエラーになってしまいました。 #define GTK_DISABLE_DEPRECATED 1 #define LIBGLADE_DISABLE_DEPRECATED 1 #include <gtk/gtk.h> #include <glade/glade.h> G_BEGIN_DECLS void on_button2_clicked(); G_END_DECLS void on_button2_clicked() { printf("clicked!\n"); } int main(int argc, char* argv[]) { GladeXML* xml; GtkWidget* window; gtk_init(&argc, &argv); xml = glade_xml_new("glade_test.glade", NULL, NULL); if (!xml) { printf("glade file error.\n"); return 1; } window = glade_xml_get_widget(xml, "window"); glade_xml_signal_autoconnect(xml); g_object_unref(G_OBJECT(xml)); gtk_widget_show(window); gtk_main(); return 0; } インクルードパス、ライブラリパス等が不足しているのかと思い、 /usr/include/gtk-2.0 へインクルードパスを通してみたのですが、やはりたくさんエラーがでているようでした。 ビルドに必要なincludeパス、ライブラリパス、その他不足しているもの等ございましたら、 ご教授よろしくお願いいたします。

  • gtkに関する質問

    GTKというライブラリで、ソースを書いてコンパイルした所 数え切れない程のエラーがでてしまう(実際のソースコードは10行未満)インクルードファイルに色々構文エラーがあるみたいですが、リンクに指定するライブラリを間違えたのでしょうか。 もし間違えたのならどのライブラリとリンクすれば良いのか教えてください。(これかなと思うライブラリを色々リンクしてみましたが無理でした) ちなみに、コンパイルしたOSはLinuxでTurboLinuxというディストリビューションです。 そしてコンパイルに使ったコマンドは下記の様に書きました gcc -o GTK gtk.c -I /usr/include/gtk -lgtk -L /usr/lib

  • CGIへのコンパイルエラー

    初めまして。プログラミング暦はほとんどありません。javaを少しかじった程度です。今回Ajaxへ挑戦しようと思い、 http://itpro.nikkeibp.co.jp/article/COLUMN/20060115/227278/?ST=nettech の予測補完インタフェースを作成しよとしています。 環境はfedoracore5でXPからのputyからの遠隔です。 complete.cをcomplete.cgiへコンパイルするときに、 [root@localhost html]# gcc -Wall -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include complete.c -o complete.cgi -lglib-2.0 -lsary -lpthread complete.c:1: error: stray ‘\357’ in program complete.c:1: error: stray ‘\273’ in program complete.c:1: error: stray ‘\277’ in program complete.c:1: error: stray ‘#’ in program complete.c:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<’ token In file included from complete.c:2: /usr/include/string.h:39: error: expected declaration specifiers or ‘...’ before ‘size_t’ /usr/include/string.h:43: error: expected declaration specifiers or ‘...’ before ‘size_t’ /usr/include/string.h:52: error: expected declaration specifiers or ‘...’ before ‘size_t’ /usr/include/string.h:59: error: expected declaration specifiers or ‘...’ before ‘size_t’ /usr/include/string.h:62: error: expected declaration specifiers or ‘...’ before ‘size_t’ /usr/include/string.h:66: error: expected declaration specifiers or ‘...’ before ‘size_t’ /usr/include/string.h:88: error: expected declaration specifiers or ‘...’ before ‘size_t’ /usr/include/string.h:96: error: expected declaration specifiers or ‘...’ before ‘size_t’ /usr/include/string.h:102: error: expected declaration specifiers or ‘...’ before ‘size_t’ /usr/include/string.h:109: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘strxfrm’ /usr/include/string.h:184: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘strcspn’ /usr/include/string.h:188: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘strspn’ /usr/include/string.h:242: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘strlen’ /usr/include/string.h:270: error: expected declaration specifiers or ‘...’ before ‘size_t’ /usr/include/string.h:288: error: expected declaration specifiers or ‘...’ before ‘size_t’ /usr/include/string.h:292: error: expected declaration specifiers or ‘...’ before ‘size_t’ /usr/include/string.h:296: error: expected declaration specifiers or ‘...’ before ‘size_t’ /usr/include/string.h:299: error: expected declaration specifiers or ‘...’ before ‘size_t’ /usr/include/string.h:329: error: expected declaration specifiers or ‘...’ before ‘size_t’ In file included from /usr/include/string.h:417, from complete.c:2: /usr/include/bits/string2.h:969: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__strcspn_c1’ /usr/include/bits/string2.h:971: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__strcspn_c1’ /usr/include/bits/string2.h:979: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__strcspn_c2’ /usr/include/bits/string2.h:982: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__strcspn_c2’ /usr/include/bits/string2.h:991: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__strcspn_c3’ /usr/include/bits/string2.h:994: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__strcspn_c3’ とエラーがでます。どうしたらいいでしょうか?(文字数の関係で半分しか掲載できませんでした。)よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • cygwinのgccによるコンパイルうまくいかない

    cygwinをsetup.exeからminimum installしました。 追加的にgcc emacs xwindow system xwin terminalをインストールしました。 そしてターミナルを起動してgcc test.c -o test.exe と入力すると/home/test.c:1: error: bad value (generic) for -mtune= switch と、エラーが出てうまくコンパイル出来ません。 mtune=generic,native,i386...k6,athlon-xp..c6-2などいろいろ試しましたが全て失敗。 どうやったらコンパイルが出来るようになるか教えてください! 環境: >gcc -v >Using built-in specs. COLLECT_GCC=gcc Target: i686-pc-cygwin コンフィグオプション: /gnu/gcc/releases/respins/4.5.3-3/gcc4-4.5.3-3/src/gcc-4.5.3/configure --srcdir=/gnu/gcc/releases/respins/4.5.3-3/gcc4-4.5.3-3/src/gcc-4.5.3 --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --datadir=/usr/share --localstatedir=/var --sysconfdir=/etc --datarootdir=/usr/share --docdir=/usr/share/doc/gcc4 -C --datadir=/usr/share --infodir=/usr/share/info --mandir=/usr/share/man -v --with-gmp=/usr --with-mpfr=/usr --enable-bootstrap --enable-version-specific-runtime-libs --libexecdir=/usr/lib --enable-static --enable-shared --enable-shared-libgcc --disable-__cxa_atexit --with-gnu-ld --with-gnu-as --with-dwarf2 --disable-sjlj-exceptions --enable-languages=ada,c,c++,fortran,java,lto,objc,obj-c++ --enable-graphite --enable-lto --enable-java-awt=gtk --disable-symvers --enable-libjava --program-suffix=-4 --enable-libgomp --enable-libssp --enable-libada --enable-threads=posix --with-arch=i686 --with-tune=generic --enable-libgcj-sublibs CC=gcc-4 CXX=g++-4 CC_FOR_TARGET=gcc-4 CXX_FOR_TARGET=g++-4 GNATMAKE_FOR_TARGET=gnatmake GNATBIND_FOR_TARGET=gnatbind --with-ecj-jar=/usr/share/java/ecj.jar スレッドモデル: posix gcc version 4.5.3 (GCC) test.cのsource #include <stdlib.h> #include <stdio.h> int main(void) { printf("Hello World!\n"); return 0; [EOF] 素人なので解決するために他に足りない情報があればおしえてくださいね。

  • MinGWとmsysでGTK+の開発環境を整えたい

    WindowsXP上で、コンパイラにMinGWを用いてGTK+2.0を用いたGUIアプリケーションの開発を行いたいと思っています。 しかし、GTK+2.0のサンプルソースのコンパイルが通りません。 コマンドとそのエラーは以下の通りです。 どうもヘッダーが見つからないと言っているようですが、ヘッダーをコンパイラのincludeフォルダに入れても駄目でした。 いれたGTK+はGlade等、全てがパックになっているものでした。インストール時にmsysを認識してくれていたので、勝手に設定をしてくれるのかと思ったのですが…。 $ gcc hello_gtk.c 'pkg-config gtk+-2.0 --cflags' hello_gtk.c:1:21: gtk/gtk.h: No such file or directory hello_gtk.c: In function `main': hello_gtk.c:5: error: `GtkWidget' undeclared (first use in this function) hello_gtk.c:5: error: (Each undeclared identifier is reported only once hello_gtk.c:5: error: for each function it appears in.) hello_gtk.c:5: error: `window' undeclared (first use in this function) hello_gtk.c:6: error: `label' undeclared (first use in this function) hello_gtk.c:10: error: `GTK_WINDOW_TOPLEVEL' undeclared (first use in this function) gcc.exe: pkg-config gtk+-2.0 --cflags: No such file or directory どうすれば、コンパイルできるようになるのでしょう?

  • OpenGLがコンパイルできません。

    OpenGLをコンパイルしようとしてCygwinで 「gcc -o sample (プログラムの名前).c -I/usr/local/include -lglut32 -lglu32 -lopengl32」 と入力すると 「In file included from /usr/include/GL/glut.h:132, from (プログラムの名前).c:1: /usr/include/w32api/GL/glu.h:230: error ハクヒ。・ィ・鬘シ before '*' taken」 と表示されてコンパイルできません。「ハクヒ。・ィ・鬘シ」の部分は文字化けだと思います。このエラーメッセージから何が問題か分かる方がいらっしゃいましたら回答していただけると嬉しいです。CygwinはNetinstallからすべてのものをインストールしたので足りないものはないと思います。よろしくお願いします。

  • Net-SNMPでのmake時のエラーについて

    はじめまして。kyosyouと申します。 Solaris(SunOS5.9)でNet-SNMPを使おうとしておりますが、 make時に下記エラーがでて頓挫しております。 google等で調べてみたのですが、類似事象が見つからず、ご質問させていただきます。 making all in /opt/net-snmp/net-snmp-5.4/snmplib make[1]: Entering directory `/opt/net-snmp/net-snmp-5.4/snmplib' /bin/sh ../libtool --mode=compile gcc -I../include -I. -I../snmplib -g -O2 -Dsolaris2=solaris2 -c -o snmp_client.lo snmp_client.c gcc -I../include -I. -I../snmplib -g -O2 -Dsolaris2=solaris2 -c snmp_client.c -fPIC -DPIC -o .libs/snmp_client.o In file included from snmp_client.c:73: /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/include/sys/param.h:181: warning: `NBBY' redefined /usr/include/sys/select.h:59: warning: this is the location of the previous definition In file included from /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/include/time.h:91, from /usr/include/sys/time.h:419, from /usr/include/sys/select.h:20, from /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/include/sys/types.h:284, from /usr/include/sys/wait.h:20, from /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/include/stdlib.h:17, from snmp_client.c:47: /usr/include/sys/siginfo.h:74: parse error before `pthread_attr_t' /usr/include/sys/siginfo.h:74: warning: no semicolon at end of struct or union /usr/include/sys/siginfo.h:76: parse error before `}' In file included from /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/include/time.h:91, from /usr/include/sys/time.h:419, from /usr/include/sys/select.h:20, from /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/include/sys/types.h:284, from /usr/include/sys/wait.h:20, from /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/include/stdlib.h:17, from snmp_client.c:47: /usr/include/sys/siginfo.h:284: parse error before `int32_t' /usr/include/sys/siginfo.h:284: warning: no semicolon at end of struct or union /usr/include/sys/siginfo.h:284: warning: no semicolon at end of struct or union /usr/include/sys/siginfo.h:286: parse error before `}' /usr/include/sys/siginfo.h:286: warning: data definition has no type or storage class /usr/include/sys/siginfo.h:288: parse error before `}' /usr/include/sys/siginfo.h:288: warning: data definition has no type or storage class /usr/include/sys/siginfo.h:415: parse error before `int32_t' /usr/include/sys/siginfo.h:415: warning: no semicolon at end of struct or union /usr/include/sys/siginfo.h:415: warning: no semicolon at end of struct or union /usr/include/sys/siginfo.h:416: conflicting types for `__rctl' /usr/include/sys/siginfo.h:285: previous declaration of `__rctl' /usr/include/sys/siginfo.h:418: parse error before `}' /usr/include/sys/siginfo.h:418: warning: data definition has no type or storage class /usr/include/sys/siginfo.h:420: parse error before `}' /usr/include/sys/siginfo.h:420: warning: data definition has no type or storage class /usr/include/sys/siginfo.h:424: parse error before `k_siginfo_t' /usr/include/sys/siginfo.h:424: warning: no semicolon at end of struct or union /usr/include/sys/siginfo.h:428: parse error before `}' /usr/include/sys/siginfo.h:428: warning: data definition has no type or storage class In file included from /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/include/stdlib.h:17, from snmp_client.c:47: /usr/include/sys/wait.h:90: parse error before `siginfo_t' make[1]: *** [snmp_client.lo] Error 1 make[1]: Leaving directory `/opt/net-snmp/net-snmp-5.4/snmplib' make: *** [subdirs] Error 1 お分かりの方がいらっしゃいましたらよろしくお願い致します。

  • C++でコンパイルするとwarningが出ます

    C++初心者です。 C++でコンパイルすると以下のようなwarningメッセージが出るのですが、どういう意味なんでしょうか?解決策があれば教えてください。 プログラム(sample.cpp) #include <iostream.h> main(){ cout << " sample \n"; } warningメッセージ In file included from /usr/include/c++/3.3.1/backward/iostream.h:31, from sample.cpp:1: /usr/include/c++/3.3.1/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider usin g one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <s stream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated