Hallo liebe E-Pvp- Community,
da ich mir ein wenig c++ aneignen wollte, habe ich mir vorgenommen mit einem kleinen Programm eine Datenbank auszulesen. Nun taucht aber bei mir ein Fehler auf, den ich nicht selbst lösen kann und weis auch nicht wie.
Ich bin gerade dabei erst einmal eine Verbindung zur Datenbank aufzubauen.
Zum Programm (mit VS2013 geschreiben):
- Konsolenanwendung
- mysql.h wurde schon im Includeverzeichniss hinzugefügt
- Lib wurde auch schon im Bibliotheksverzeichniss hinzugefügt
Das sieht so aus als ob da der Include, der SOCKET definiert, nicht gefunden wird.
Funktioniert es, wenn du
Code:
#include <WinSock2.h>
vor
Code:
#include <mysql.h>
setzt?
Noch ein paar Tipps:
cstdlib - der c-Präfix deklariert die C-Funktionen im std-namespace, du solltest also der Korrektheit halber std::exit(1); verwenden
fprintf(stderr, "%s\n", mysql_error(conn)); - std::cerr << mysql_error(conn) funktioniert ebenfalls und du musst dich nicht mit korrekten Formatierung rumärgern.
Ich danke dir erst einmal, hab das schon geändert im Code, sieht auch schon viel besser aus und danke für die Tipps.
Allerdings wenn ich "#include <WinSock2.h>" vor den Mysql include setze, bekomme ich einen neuen Fehler, mit dem ich wieder nichts anfangen kann.
Der Linker kann die von dir aufgerufenen Funktionen nicht finden. Der Include <mysql.h> hat zwar die Funktionen deklariert, die Implementierung ist aber wahrscheinlich in einer .lib (oder?), die musst du ebenfalls einbinden. Das geht unter Eigenschaften -> VC++-Verzeichnisse -> Bibliotheksverzeichnisse -> Bearbeiten und dort dann auf den Pfad deiner mysql.lib verlinken.
Wenn du gerade anfängst, C++ zu lernen, kann es sicherlich nicht schaden, wenn du dir mal die Zusammenhänge beim Kompilieren anschaust, so kann man viele Fehler vermeiden.
Der Linker kann die von dir aufgerufenen Funktionen nicht finden. Der Include <mysql.h> hat zwar die Funktionen deklariert, die Implementierung ist aber wahrscheinlich in einer .lib (oder?), die musst du ebenfalls einbinden. Das geht unter Eigenschaften -> VC++-Verzeichnisse -> Bibliotheksverzeichnisse -> Bearbeiten und dort dann auf den Pfad deiner mysql.lib verlinken.
Wenn du gerade anfängst, C++ zu lernen, kann es sicherlich nicht schaden, wenn du dir mal die Zusammenhänge beim Kompilieren anschaust, so kann man viele Fehler vermeiden.
Quote:
Originally Posted by qkuh
mysql libs einbinden
Danke euch beiden schonmal, aber die Lib hatte ich schon von vornerein mit eingebunden. Habs nur vergessen zu sagen. Tut mir leid.
Quote:
Originally Posted by snow911
Noch ein paar Tipps:
cstdlib - der c-Präfix deklariert die C-Funktionen im std-namespace, du solltest also der Korrektheit halber std::exit(1); verwenden
fprintf(stderr, "%s\n", mysql_error(conn)); - std::cerr << mysql_error(conn) funktioniert ebenfalls und du musst dich nicht mit korrekten Formatierung rumärgern.
Dadurch kann dann "#include <cstdlib>" weggelassen werden, oder?
Danke euch beiden schonmal, aber die Lib hatte ich schon von vornerein mit eingebunden. Habs nur vergessen zu sagen. Tut mir leid.
Dadurch kann dann "#include <cstdlib>" weggelassen werden, oder?
MFG Nick
Und trotzdem findet er die .lib nicht? Sind die auch garantiert dort in dem Ordner vorhanden? Ansonsten mal explizit linken (das hat mir mal bei einer anderen Library geholfen)
Projekteigenschaften -> Linker -> Eingabe - Zusätzliche Abhängigkeiten und dort die Namen der jeweiligen Librarys (mit .lib) hinzufügen.
Und trotzdem findet er die .lib nicht? Sind die auch garantiert dort in dem Ordner vorhanden? Ansonsten mal explizit linken (das hat mir mal bei einer anderen Library geholfen)
Projekteigenschaften -> Linker -> Eingabe - Zusätzliche Abhängigkeiten und dort die Namen der jeweiligen Librarys (mit .lib) hinzufügen.
Natürlich muss die Lib explizit gelinkt werden. Die erstgenannte Einstellung fügt lediglich das Verzeichnis zu denen hinzu, in denen nach Libs gesucht wird.
Danach muss man entweder über die nun von dir genannte Einstellung oder mithilfe von
Und trotzdem findet er die .lib nicht? Sind die auch garantiert dort in dem Ordner vorhanden? Ansonsten mal explizit linken (das hat mir mal bei einer anderen Library geholfen)
Projekteigenschaften -> Linker -> Eingabe - Zusätzliche Abhängigkeiten und dort die Namen der jeweiligen Librarys (mit .lib) hinzufügen.
Quote:
Originally Posted by MrSm!th
Natürlich muss die Lib explizit gelinkt werden. Die erstgenannte Einstellung fügt lediglich das Verzeichnis zu denen hinzu, in denen nach Libs gesucht wird.
Danach muss man entweder über die nun von dir genannte Einstellung oder mithilfe von
Code:
#pragma comment(lib, "libname")
die Lib linken.
Danke erstmal euch beiden. Dennoch klappt es immernoch nicht, es wird immernoch der gleiche Fehler angezeigt.Allerdings haben all eure Tipps mich schon ein wenig weiter gebracht.
MFG Nick
EDIT:
Problem gelöst qkuh hat mir geholfen...
Lösung:
die libs sind für 64bit gedacht und das projekt ist 32bit.
Sowas wusste ich nicht, aber danke nochmal an qkuh.
Danke erstmal euch beiden. Dennoch klappt es immernoch nicht, es wird immernoch der gleiche Fehler angezeigt.Allerdings haben all eure Tipps mich schon ein wenig weiter gebracht.
MFG Nick
EDIT:
Problem gelöst qkuh hat mir geholfen...
Lösung:
die libs sind für 64bit gedacht und das projekt ist 32bit.
Sowas wusste ich nicht, aber danke nochmal an qkuh.
MFG Nick
Und das lag wirklich am Projekt? ;O
Meinst du nicht eher das Betriebssystem?
Quote:
Originally Posted by MrSm!th
Natürlich muss die Lib explizit gelinkt werden. Die erstgenannte Einstellung fügt lediglich das Verzeichnis zu denen hinzu, in denen nach Libs gesucht wird.
Danach muss man entweder über die nun von dir genannte Einstellung oder mithilfe von
Code:
#pragma comment(lib, "libname")
die Lib linken.
Muss sie nicht. Es gibt Auto-Linker.
Natürlich gibt's die nicht in allen Libs aber boost bietet zum Beispiel sowas an und macht das auch standardmäßig.
[S] Kleines Programm 07/23/2013 - elite*gold Trading - 3 Replies Hallo,
suche ein Programm das folgendes machen soll:
Es soll 2 Buttons geben.
Einmal View Page-->Öffnen der Seite Pietsmiet.tv
Und einmal Start Zarfirbel Bot-->Enter drücken--> pietsmiet.tv schreiben --> Enter drücken, das ganze in einem Abstand von 3-5 Minuten.
Das ganze soll dan Zarfirbel-Bot heißen.
Evtl. Als Design das PietSmiet Zeichen.
Zahle bis zu 100 E*G.
Ich möchte die Rechte an dem Bot haben.
[S]Kleines VB Programm 09/18/2012 - Coders Trading - 2 Replies Hallo,
Ich suche ein kleines VB Programm.
Undzwar brauche ich einen in VB intigrierten Browser wo ich mit 1 Klick die IP ändern und die Browser Cache leeren kann.
Hoffe mir kann da jemand weiterhelfen.
Sollte alles Funktionieren würde ich auch 60-70e*Gold dafür zahlen..
[S] ein kleines Tool, Programm 03/07/2011 - General Coding - 1 Replies Hey & Hallo :P
Kann einer von euch ein Tool schreiben, was 11 Sekunden lang die ganze Zeit linksklick drückt ,also so ganz schnell ? Ich suche so eins mal :D
Würde mich freuen ,
lg.
Kleines Playspan Programm 06/23/2010 - WarRock - 12 Replies Hey Leute.
Ich habe für euch einen Playspan Programm gecodet.
Erstmal der Screen:
http://img651.imageshack.us/img651/3105/playspanpr ogrammby67bea.jpg
Downloadlinks:
Von Uploaded
Von Rapidshare