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
-
#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 warningsWas 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 warningsWas kann ich noch tun?
Grüße, Kevin
-
Die Seite/Das Forum eines der beteiligten Programme sagt:
http://forums.codeblocks.org/index.php?topic=9236.0MfG f.-th.
-
Der Autor wird hier im Forum ja kritisch beobachtet:
http://www.pronix.de/pronix-1196.htmlHab 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