Probleme mit dem Einbinden eines Headerfiles unter mingw GCC @ CodeBlocks



  • Hallo zusammen,

    ich habe ein echtes Problem mit dem mingw Compiler und mySQL connector/c.

    Dabei ist mein Programm sehr einfach:

    #include <stdio.h>
    #include <stdlib.h>
    #if defined __WIN32__ || _MSC_VER
    #include "my_global.h"
    #include "mysql.h"
    #else
    #include <mysql.h>
    #endif
    
    int main()
    {
    return EXIT_SUCCESS;
    }
    

    Ich benutze den MingW GCC compiler in CodeBlocks 10.05

    Die include setting ist:
    -I"C:\Program Files\MySQL\MySQL Connector C 6.0.2\include"

    Die library setting ist:
    -L"C:\Program Files\MySQL\MySQL Connector C 6.0.2\lib\opt\libmysql.dll"

    Direkt beim build Prozess bekomme ich folgendes:

    -------------- Build: Debug in test_ansi_C ---------------

    Compiling: main.c
    In file included from C:\Program Files\MySQL\MySQL Connector C 6.0.2\include/my_global.h:74,
    from C:\Documents and Settings\z142872\Desktop\12_ HN1 Kopie\02_JointProject_\GCC_Zugriff\HySimDB_ansi_C\main.c:4:
    C:\Program Files\MySQL\MySQL Connector C 6.0.2\include/config-win.h:111:1: warning: "S_IRWXU" redefined
    In file included from C:\Program Files\MySQL\MySQL Connector C 6.0.2\include/config-win.h:33,
    from C:\Program Files\MySQL\MySQL Connector C 6.0.2\include/my_global.h:74,
    from C:\Documents and Settings\z142872\Desktop\12_ HN1 Kopie\02_JointProject_\GCC_Zugriff\HySimDB_ansi_C\main.c:4:
    c:\app\tools\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/sys/stat.h:63:1: warning: this is the location of the previous definition
    In file included from C:\Program Files\MySQL\MySQL Connector C 6.0.2\include/my_global.h:74,
    from C:\Documents and Settings\z142872\Desktop\12_ HN1 Kopie\02_JointProject_\GCC_Zugriff\HySimDB_ansi_C\main.c:4:
    C:\Program Files\MySQL\MySQL Connector C 6.0.2\include/config-win.h:114: error: conflicting types for 'mode_t'
    c:\app\tools\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/sys/types.h:85: note: previous declaration of 'mode_t' was here
    In file included from C:\Program Files\MySQL\MySQL Connector C 6.0.2\include/my_global.h:74,
    from C:\Documents and Settings\z142872\Desktop\12_ HN1 Kopie\02_JointProject_\GCC_Zugriff\HySimDB_ansi_C\main.c:4:
    C:\Program Files\MySQL\MySQL Connector C 6.0.2\include/config-win.h:235:1: warning: "finite" redefined
    C:\Program Files\MySQL\MySQL Connector C 6.0.2\include/config-win.h:193:1: warning: this is the location of the previous definition
    In file included from C:\Documents and Settings\z142872\Desktop\12_ HN1 Kopie\02_JointProject_\GCC_Zugriff\HySimDB_ansi_C\main.c:4:
    C:\Program Files\MySQL\MySQL Connector C 6.0.2\include/my_global.h:580:1: warning: "my_reinterpret_cast" redefined
    In file included from C:\Program Files\MySQL\MySQL Connector C 6.0.2\include/my_global.h:74,
    from C:\Documents and Settings\z142872\Desktop\12_ HN1 Kopie\02_JointProject_\GCC_Zugriff\HySimDB_ansi_C\main.c:4:
    C:\Program Files\MySQL\MySQL Connector C 6.0.2\include/config-win.h:339:1: warning: this is the location of the previous definition
    In file included from C:\Program Files\MySQL\MySQL Connector C 6.0.2\include/my_global.h:627,
    from C:\Documents and Settings\z142872\Desktop\12_ HN1 Kopie\02_JointProject_\GCC_Zugriff\HySimDB_ansi_C\main.c:4:
    C:\Program Files\MySQL\MySQL Connector C 6.0.2\include/my_dbug.h:98:20: error: crtdbg.h: No such file or directory
    Process terminated with status 1 (0 minutes, 3 seconds)

    2 errors, 10 warnings

    Bitte helft mir. Grüße, Kevin


  • Mod

    #if defined __WIN32__ || _MSC_VER
    

    Bist du sicher, dass dies das ist was du meinst?



  • ... auch wenn ich das weglasse kommt die gleiche Lawine an Fehlermeldungen.

    Mein Code sieht dass eben so aus:

    #include <stdio.h>
    #include <stdlib.h>
    #include <mysql.h>
    
    int main()
    {
    return EXIT_SUCCESS;
    }
    

    Das Ergebnis ist nahezu unverändert. Es kann doch nicht so schwierig sein eine der am besten gewarteten nativen C-Bibliotheken von Oracle einzubinden. Ich glaub das einfach nicht... sorry.

    Hier ist das Ergebnis:

    Compiling: main.c
    In file included from C:\Program Files\MySQL\MySQL Connector C 6.0.2\include/mysql.h:71,
    from C:\Documents and Settings\z142872\Desktop\12_Ostheimer HN1 Kopie\02_JointProject_Systemsimulation\GCC_Zugriff\HySimDB_ansi_C\main.c:4:
    C:\Program Files\MySQL\MySQL Connector C 6.0.2\include/mysql_com.h:268: error: expected specifier-qualifier-list before 'SOCKET'
    C:\Program Files\MySQL\MySQL Connector C 6.0.2\include/mysql_com.h:437: error: expected ')' before 's'
    Process terminated with status 1 (0 minutes, 2 seconds)
    2 errors, 0 warnings

    Was soll ich tun ausser dem Comiler und dem Linker die Ressourcen klarzumachen. Ich habe nicht mehr Optionen.

    Grüße, KO



  • Bitte helft mir doch!



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (C89 und C99) in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Mit dem Einbinden von my_global.h lagst du doch eigentlich richtig. Hast du schon

    #include <stdio.h>
    #include <stdlib.h>
    #ifdef _WIN32
    #include <my_global.h>
    #endif
    #include <mysql.h>
    
    int main()
    {
    return EXIT_SUCCESS;
    }
    

    probiert?

    Edit: _WIN32 reineditiert.



  • Ja das habe ich schon probiert. Ich bekomme die Fehlermeldung:

    -------------- Build: Debug in sql_acc ---------------

    Compiling: main.c
    In file included from C:\Cprj\MySQLConnectorC\include/my_global.h:74,
    from C:\Cprj\sql_acc\main.c:4:
    C:\Cprj\MySQLConnectorC\include/config-win.h:111:1: warning: "S_IRWXU" redefined
    In file included from C:\Cprj\MySQLConnectorC\include/config-win.h:33,
    from C:\Cprj\MySQLConnectorC\include/my_global.h:74,
    from C:\Cprj\sql_acc\main.c:4:
    c:\app\tools\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/sys/stat.h:63:1: warning: this is the location of the previous definition
    In file included from C:\Cprj\MySQLConnectorC\include/my_global.h:74,
    from C:\Cprj\sql_acc\main.c:4:
    C:\Cprj\MySQLConnectorC\include/config-win.h:114: error: conflicting types for 'mode_t'
    c:\app\tools\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/sys/types.h:85: note: previous declaration of 'mode_t' was here
    In file included from C:\Cprj\MySQLConnectorC\include/my_global.h:74,
    from C:\Cprj\sql_acc\main.c:4:
    C:\Cprj\MySQLConnectorC\include/config-win.h:235:1: warning: "finite" redefined
    C:\Cprj\MySQLConnectorC\include/config-win.h:193:1: warning: this is the location of the previous definition
    In file included from C:\Cprj\sql_acc\main.c:4:
    C:\Cprj\MySQLConnectorC\include/my_global.h:580:1: warning: "my_reinterpret_cast" redefined
    In file included from C:\Cprj\MySQLConnectorC\include/my_global.h:74,
    from C:\Cprj\sql_acc\main.c:4:
    C:\Cprj\MySQLConnectorC\include/config-win.h:339:1: warning: this is the location of the previous definition
    In file included from C:\Cprj\MySQLConnectorC\include/my_global.h:627,
    from C:\Cprj\sql_acc\main.c:4:
    C:\Cprj\MySQLConnectorC\include/my_dbug.h:98:20: error: crtdbg.h: No such file or directory
    In file included from C:\Cprj\sql_acc\main.c:4:
    C:\Cprj\MySQLConnectorC\include/my_global.h:1582: error: static declaration of 'rint' follows non-static declaration
    Process terminated with status 1 (0 minutes, 0 seconds)
    3 errors, 6 warnings

    Was kann ich noch tun?

    Grüße, Kevin



  • Die Seite/Das Forum eines der beteiligten Programme sagt:
    http://forums.codeblocks.org/index.php?topic=9236.0

    MfG f.-th.



  • Der Autor wird hier im Forum ja kritisch beobachtet:
    http://www.pronix.de/pronix-1196.html

    Hab das nicht geprüft.
    Falls das nicht reicht die Suchmaschine liefert noch mehr Treffer.
    Na gut, nicht jeder Treffer hilft auch weiter.

    MfG f.-th.



  • ich hab die <windows.h> falsch eingebunden... . Es läuft jetzt!
    -------------- Build: Debug in sql_acc ---------------

    Compiling: main.c
    Linking console executable: bin\Debug\sql_acc.exe
    Output size is 25,08 KB
    Process terminated with status 0 (0 minutes, 0 seconds)
    0 errors, 0 warnings


Anmelden zum Antworten