[C] mysql.lib - Dev-c++ - HILFE

01/11/2013 15:51 Crosspolymer#1
Hallo!

Ich möchte gerne das meine Konsole Daten von einem externem MYSQL Server abruft. Wie zB die Login Daten um das Programm zu verwenden.
Leider habe ich ein kleines Problemchen:

Ich hab mir den neuesten MYSQL Connector von der mysql Webseite runtergeladen, installiert und versucht die mysqlclient.lib, dbug.lib, libmysql.lib und mysys.lib in mein Projekt einzubinden.
Das einbinden funktionierte, aber ich bekam bein Kompilieren zwei Fehlermeldungen:

Quote:
3 C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\lib\opt\main.c mysql.h: No such file or directory.

C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\lib\opt\Makefile.win [Build Error] [main.o] Error 1
Ich denke ich hab da irgendwas falsch gemacht^^

Programm Code:
Code:
#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>
int main(int argc, char *argv[])
{
  printf("TEST");
  system("PAUSE");	
  return 0;
}
Verwende Windows 7 64bit
Compiler: Bloodshed Dev-c++
Bin C Anfänger (:
Bitte um hilfe
lg
01/11/2013 16:07 jacky919#2
Wie der Fehler schon sagt, der Compiler findet die "mysql.h" Headerdatei nicht.
01/11/2013 16:13 Crosspolymer#3
Ja aber warum, .lib ist ja eingebunden... ?
01/11/2013 16:16 jacky919#4
Wo liegt die Headerdatei mit dem Namen "mysql.h" denn?
01/11/2013 16:20 Crosspolymer#5
Im Ordner vom MYSQL Connector
C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\include

Die lib
C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\lib\opt
01/11/2013 16:23 jacky919#6
Hast du das Verzeichnis mit der Headerdatei auch zu den include-paths hinzugefügt, damit mit der Compiler auch in diesem Verzeichnis nach der Datei sucht?
01/11/2013 16:26 Crosspolymer#7
Hab ich jetzt gemacht.
Er zeigt .h files nicht an, habs mittels show all files hinzugefügt, leider immer noch die gleichen Fehlermeldungen.
01/11/2013 16:35 jacky919#8
Ich denke du hasst nicht genau verstanden was ich meinte. Du hast die Wahl den kompletten Pfad der Datei anzugeben oder dem Compiler zu sagen, in welchen Verzeichnissen er die Headerdateien finden wird.
Code:
//hier mit absoluter Pfadangabe
#include "c:/test/test2/header.h"
//hier mit relativer Pfadangabe
#include "header.h"
//oder
#include "test/header.h"
Zu beachten ist halt, dass sich relative Pfadangaben auch immer relativ zum aktuellen Suchpfad verhalten. Die Liste der Suchpfade für Headerdateien, die dann bei der Kompilierung vom Compiler zur Suche der Headerdatei durchgegengen werden, kann normalerweise bei einer IDE bei den Compiler- oder Verzeichniseinstellungen verwaltet werden oder ohne IDE beispielsweise in einem Makefile angegeben werden. Dev-C++ ist aber eine IDE.

Edit: Um diese Liste zu verwalten gehst du hier hin: tools > compiler options > directories
01/11/2013 16:46 Crosspolymer#9
Ich habs nun mittels absoluten Pfad geschrieben.
Leider bekomm ich wieder Fehlermeldungen. Diesmal aber von mysql.h..zB:
Quote:
423 C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\include\mysql_com.h syntax error before '*' token
Vielleicht liegt der Fehler daran das die Konsole eine 32bit Anwendung ist und ich aber die 64bit Version von mysql.h verwende?

Edit: Ist doch eine 32 Bit Version des Connectors^^
01/11/2013 16:51 jacky919#10
Vom Informationsgehalt dieser Fehlermeldung lässt nicht darauf schließen, von was oder wem der Fehler verursacht wurde, jedoch wenn ist der Standardcompiler von Dev-C++ ein Compiler für 32-Bit Windowsprogramme, also wäre es wohl ratsamer auch die 32-Bit Ausführung des MySQL-Headers zu nutzen. :)
01/11/2013 16:55 Crosspolymer#11
Quote:
Edit: Ist doch eine 32 Bit Version des Connectors^^
Sorry hab mich geirrt^^
01/11/2013 17:04 jacky919#12
Sonst kannst du's auch mal mit DevPaks versuchen, dann hast du zumindest keine Probleme mit den Pfaden mehr. DevPaks sind Archive für Dev-C++ die automatisiert installiert werden und Dev-C++ meistens um bestimmte Bibliotheken erweitern können.
[Only registered and activated users can see links. Click Here To Register...]
Wenn du Glück hast sind bei den für MySQL auch Beispiele dabei :)
01/11/2013 17:29 Crosspolymer#13
Habe es hinbekommen =).
Hab #include <winsock.h> hinzugefügt.

Code:
#include <winsock.h>
#include <mysql.h>
#include <stdio.h>
#include <stdlib.h>


int main(int argc, char *argv[])
{
  
  system("PAUSE");	
  return 0;
}
Benutz jetzt auch DevPaks sieht ganz gut aus =)
DANKE