wie MySQL C API verwenden
-
Hallo,
ich brauche dringend Hilfe, versuche nun schon ne Ewigkeit mein C++ Projekt mit einer MySQL Datenbank zu verknüpfen, scheitere jedoch schon an den Grundlagen. Ich habe mir diverse Tutorials, Manuals und was ich sonst noch zu diesem Thema finden konnte durgeschaut, doch überall wird scheinbar nur kurz auf die Inbetriebnahme eingangen, und sich eher dem einzelenen Funktionen gewidmet.Ich bitte daher es mir so zu erklären, dass es wirklich der dümmste Bauer versteht, und mich nicht auf irgendwelche anderen Beiträge hier im Forum zu verlinken, denn die habe ich bereits vergeblich versucht auf mein Problem anzuwenden.
Ich habe das MySQL Paket schon installiert. Für den Anfang wollte ich einfach mal die nötigen Dateien in mein Projekt zum Test einbinden, dazu hab ich folgendes Testprogramm geschrieben:
#include <cstdlib> #include <iostream> #include <windows.h> #include <mysql.h> using namespace std; int main(int argc, char *argv[]) { cout << "Test" << endl; getchar(); return EXIT_SUCCESS; }
Meine IDE ist Dev-C++ und ich hab dem Linker folgende beiden Biblioteken hinzugefügt: "libmysql.lib" und "mysqlclient.lib". Außerdem habe ich unter Verzeichnisse das zusätzliche MySQL Verzeichnis "C:\Program Files\MySQL\MySQL Server 5.1\include" mit angegeben.
Beim Komplilieren erhalte ich folgende Fehlermeldung:
[Build Error] No rule to make target `C:/Program', needed by `MySQL_Training.o'. Stop.
Wie bekomme ich das nun zum laufen damit ich einfach die C API Funktionen wie mysql_real_connect() etc. aufrufen kann.
Mfg Felsen
-
Der Pfad mit
C:\Program Files\...
enthält Leerzeichen -> in Anführungszeichen setzen.Eine List der ganzen API-Funktionen (falls du die nicht schon hast) findest du hier: http://dev.mysql.com/doc/refman/5.1/de/c-api-functions.html
-
Danke, daran lags wirklich, Anführungszeichen sind nun gesetzt und die Meldung kommt nicht mehr. Allerdings haperts jetzt wo anders.
Es wird mir nun gemeldet, dass mysql.h nicht gefunden werden kann. Die Pfade die ich angegeben hab stimmen aber. Testweise hab ich auch mal die Datei mysql.h direkt ins Dev-C++/include/c++/... Verzeichnis kopiert, ebenfalls ohne Erfolg.
Hab dann noch probiert die Zeile
#include <mysql.h>
durch
#include "C:/Program Files/MySQL/MySQL Server 5.1/include/mysql.h"
zu ersetzen, doch dann kommt seltsamerweise wieder die selbe Meldung wie oben, also
[Build Error] No rule to make target `C:/Program', needed by `MySQL_Training.o'. Stop.
Was mach ich jezt schon wieder falsch?
Mfg Felsen
-
Hm... sicher, dass die
mysql.h
in...\MySQL\MySQL
Server5.1\include
liegt? Wenn du bei#include
den ganzen Pfad angibst, versuch mal#include "\"C:/Programme/...\""
(k. A. ob das funktioniert, habs nicht getestet). Wenn du die mysql.h schon in den Dev-Cpp Ordner kopierst, dann bitte nach...\include
, nicht nach...\include\c++
.Tja, mit Linux wäre das nicht passiert. *scnr*