[Dev-C++] Variable Parameterliste in Makros ?



  • Hallo!

    Ich soll derzeitig ein GTK-Programm von Linux nach Windows portieren. Also habe ich mir den Dev-C++ und diverse Packages, um damit auch GTK programmieren zu können, besorgt. Jetzt ist allerdings das Problem, dass in der von dem GTK mitgelieferten Header gmessages.h Makros dieser Art enthalten sind:

    #ifdef G_HAVE_ISO_VARARGS
    #define g_error(...)     g_log(G_LOG_DOMAIN,       \
                                   G_LOG_LEVEL_ERROR,  \
                                   __VA_ARGS__)
    /* ... weiterer Quelltext ...*/
    

    Und da der von Dev-C++ mitgelieferte Compiler anscheinend meint, dass er die variable Parameterliste in Markos nicht standardmäßig unterstützt, stehe ich jetzt vor einem Problem.

    Kann ich das irgendwo einstellen (die Unterstützung) ? Habe schon auf diversen Seiten geschaut, aber bin nicht wirklich weitergekommen.

    Vielen Dank im Voraus.

    So long ...



  • Hiho! das ist kein Prozessor-Problem, sondern hoechstens des Praeprozessor. Aber bedenke, dass der im Grunde auch nur Textersetzung macht. Ich wuerd eher vermuten, dass das Problem anderweitig liegt. Zudem verwendet Dev-C++ ja den GCC, also den selben Compiler, der auch unter Linux verwendet wird. Von daher sollte er mit jeglichem Code zurecht kommen, den er auch unter Linux kannte. Allerdings hab ich derart definierte Makros noch nie gesehen und hab demnach nicht wirklich Ahnung 😕

    Poste bitte die Fehlermeldungen, die der Compiler ausspuckt 🙂



  • Hallo noch mal!

    Erst mal vielen Dank für deine Antwort.
    Hier die Compiler-log:

    Compiler: Default compiler
    Building Makefile: "D:\progs\gtk\it-mat\DBITMat\devcpp\Makefile.win"
    Führt  make... aus
    make.exe -f "D:\progs\gtk\it-mat\DBITMat\devcpp\Makefile.win" all
    gcc.exe -c ../src/main.c -o ../src/main.o -I"C:/Programme/Dev-Cpp/include"  
    -I"./"  -I"D:/gtk_win32/include"  -I"D:/gtk_win32/include/gtk-2.0"  
    -I"D:/gtk_win32/include/gtk-2.0/gtk"  -I"D:/gtk_win32/include/glib-2.0"  
    -I"D:/gtk_win32/include/glib-2.0/glib"  -I"D:/gtk_win32/lib/glib-2.0/include"  
    -I"D:/gtk_win32/include/pango-1.0"  -I"D:/gtk_win32/lib/gtk-2.0/include"  
    -I"D:/gtk_win32/include/atk-1.0"  -I"D:/progs/gtk/it-mat/DBITMat/devcpp"  
    -I"D:/gtk_win32/include/gtkglext-1.0"  -mms-bitfields -mwindows 
    -DHAVE_CONFIG_H -lgtk-win32-2.0 -lgdk-win32-2.0 -lgthread-2.0 -lgdi32 -lole32 
    -luuid -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lobject
    -2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv -std=c99   -std=c99 -ansi 
    -traditional-cpp -fexceptions
    In file included from D:/gtk_win32/include/glib-2.0/glib.h:52,
                     from D:/gtk_win32/include/gtk-2.0/gdk/gdktypes.h:32,
                     from D:/gtk_win32/include/gtk-2.0/gdk/gdkcolor.h:4,
                     from D:/gtk_win32/include/gtk-2.0/gdk/gdk.h:30,
                     from D:/gtk_win32/include/gtk-2.0/gtk/gtk.h:31,
                     from ../src/main.c:6:
    D:/gtk_win32/include/glib-2.0/glib/gmessages.h:41: syntax error in macro parameter list
    D:/gtk_win32/include/glib-2.0/glib/gmessages.h:44: syntax error in macro parameter list
    D:/gtk_win32/include/glib-2.0/glib/gmessages.h:47: syntax error in macro parameter list
    D:/gtk_win32/include/glib-2.0/glib/gmessages.h:50: syntax error in macro parameter list
    D:/gtk_win32/include/glib-2.0/glib/gmessages.h:53: syntax error in macro parameter list
    make.exe: *** [../src/main.o] Error 1
    Ausführung beendet
    

    Vielleicht hilft es ja weiter.

    So long ...



  • ich hatte das selbe problem und ich glaube dass ist die Kompilationsoption

    -traditional-cpp
    

    der ist das problem.
    Entschuldigung, ich bin franzosich und spreche nicht sehr gut deutsch.
    Ich hope dass es du nützlich sein wird.


Anmelden zum Antworten