#include problem
-
Hallo,ich wollt mir eine fertige mysql datenbankabfrage in mein Projekt einbinden leider klappt das nicht so wie ich das gerne hätte .
Und zwar geht es hierdrum: http://area51.phpbb.com/phpBB/viewtopic.php?f=3&t=31715 (DL Link ganz unten auf der Seite)
Habe jetzt ein leeres projekt zum testen gemacht damit klappt es allerdings auch nicht...
Testprojekt code:#include <iostream> #include "authenticator.h" using namespace std; int main() { Authenticator authenticator; authenticator.initialize("ipadress", "user", "pw", "phpbb3", "phpbb_", 2); string username, password; cin >> username; //obviously you would get the username/password from the client over the network, not from cin cin >> password; int errorcode; if (!authenticator.authenticate(username, password, errorcode)) { } else { } cout << "Hello world!" << endl; return 0; }
Fehlermeldungen:
||=== Test2, Debug ===| obj\Debug\authenticator.o:E:\Programmieren\Test2\authenticator.cpp|74|undefined reference to `_imp___ZNK7mysqlpp10Connection9connectedEv'| obj\Debug\authenticator.o:E:\Programmieren\Test2\authenticator.cpp|75|undefined reference to `_imp___ZN7mysqlpp13TCPConnection7connectEPKcS2_S2_S2_'| obj\Debug\authenticator.o:E:\Programmieren\Test2\authenticator.cpp|76|undefined reference to `_imp___ZNK7mysqlpp10Connection9connectedEv'| obj\Debug\authenticator.o:E:\Programmieren\Test2\authenticator.cpp|81|undefined reference to `_imp___ZN7mysqlpp10Connection5queryEPKc'| obj\Debug\authenticator.o:E:\Programmieren\Test2\authenticator.cpp|83|undefined reference to `_imp___ZN7mysqlpp5Query5storeEPKcj'| obj\Debug\authenticator.o:E:\Programmieren\Test2\authenticator.cpp|90|undefined reference to `_imp___ZNK7mysqlpp3RowixEPKc'| obj\Debug\authenticator.o||In function `~OptionalExceptions':| C:\MySQL++\include\noexceptions.h|83|undefined reference to `_imp___ZTVN7mysqlpp18OptionalExceptionsE'| C:\MySQL++\include\noexceptions.h|83|undefined reference to `_imp___ZTVN7mysqlpp18OptionalExceptionsE'| C:\MySQL++\include\noexceptions.h|83|undefined reference to `_imp___ZTVN7mysqlpp18OptionalExceptionsE'| obj\Debug\authenticator.o||In function `TCPConnection':| C:\MySQL++\include\tcp_connection.h|44|undefined reference to `_imp___ZN7mysqlpp10ConnectionC2Eb'| C:\MySQL++\include\tcp_connection.h|44|undefined reference to `_imp___ZTVN7mysqlpp13TCPConnectionE'| C:\MySQL++\include\tcp_connection.h|64|undefined reference to `_imp___ZN7mysqlpp10ConnectionC2Eb'| C:\MySQL++\include\tcp_connection.h|64|undefined reference to `_imp___ZTVN7mysqlpp13TCPConnectionE'| C:\MySQL++\include\tcp_connection.h|66|undefined reference to `_imp___ZN7mysqlpp13TCPConnection7connectEPKcS2_S2_S2_'| C:\MySQL++\include\tcp_connection.h|67|undefined reference to `_imp___ZN7mysqlpp10ConnectionD2Ev'| obj\Debug\authenticator.o||In function `~TCPConnection':| C:\MySQL++\include\tcp_connection.h|79|undefined reference to `_imp___ZTVN7mysqlpp13TCPConnectionE'| C:\MySQL++\include\tcp_connection.h|79|undefined reference to `_imp___ZN7mysqlpp10ConnectionD2Ev'| C:\MySQL++\include\tcp_connection.h|79|undefined reference to `_imp___ZTVN7mysqlpp13TCPConnectionE'| C:\MySQL++\include\tcp_connection.h|79|undefined reference to `_imp___ZN7mysqlpp10ConnectionD2Ev'| obj\Debug\authenticator.o||In function `Exception':| C:\MySQL++\include\exceptions.h|51|undefined reference to `_imp___ZTVN7mysqlpp9ExceptionE'| obj\Debug\authenticator.o||In function `~Exception':| C:\MySQL++\include\exceptions.h|63|undefined reference to `_imp___ZTVN7mysqlpp9ExceptionE'| C:\MySQL++\include\exceptions.h|63|undefined reference to `_imp___ZTVN7mysqlpp9ExceptionE'| C:\MySQL++\include\exceptions.h|63|undefined reference to `_imp___ZTVN7mysqlpp9ExceptionE'| obj\Debug\authenticator.o:C:\MySQL++\include\mystring.h|288|undefined reference to `_imp___ZNK7mysqlpp6String4dataEv'| obj\Debug\authenticator.o||In function `~ResultBase':| C:\MySQL++\include\result.h|114|undefined reference to `_imp___ZTVN7mysqlpp10ResultBaseE'| C:\MySQL++\include\result.h|114|undefined reference to `_imp___ZTVN7mysqlpp10ResultBaseE'| C:\MySQL++\include\result.h|114|undefined reference to `_imp___ZTVN7mysqlpp10ResultBaseE'| obj\Debug\authenticator.o||In function `~StoreQueryResult':| C:\MySQL++\include\result.h|244|undefined reference to `_imp___ZTVN7mysqlpp16StoreQueryResultE'| C:\MySQL++\include\result.h|244|undefined reference to `_imp___ZTVN7mysqlpp16StoreQueryResultE'| obj\Debug\authenticator.o||In function `ConnectionFailed':| C:\MySQL++\include\exceptions.h|329|undefined reference to `_imp___ZTVN7mysqlpp16ConnectionFailedE'| obj\Debug\authenticator.o||In function `~ConnectionFailed':| C:\MySQL++\include\exceptions.h|329|undefined reference to `_imp___ZTVN7mysqlpp16ConnectionFailedE'| C:\MySQL++\include\exceptions.h|329|undefined reference to `_imp___ZTVN7mysqlpp16ConnectionFailedE'| obj\Debug\authenticator.o||In function `~Query':| C:\MySQL++\include\query.h|124|undefined reference to `_imp___ZTVN7mysqlpp5QueryE'| C:\MySQL++\include\query.h|124|undefined reference to `_imp___ZTVN7mysqlpp5QueryE'| C:\MySQL++\include\query.h|124|undefined reference to `_imp___ZTVN7mysqlpp5QueryE'| C:\MySQL++\include\query.h|124|undefined reference to `_imp___ZTTN7mysqlpp5QueryE'| C:\MySQL++\include\query.h|124|undefined reference to `_imp___ZTTN7mysqlpp5QueryE'| C:\MySQL++\include\query.h|124|undefined reference to `_imp___ZTVN7mysqlpp5QueryE'| C:\MySQL++\include\query.h|124|undefined reference to `_imp___ZTVN7mysqlpp5QueryE'| C:\MySQL++\include\query.h|124|undefined reference to `_imp___ZTVN7mysqlpp5QueryE'| C:\MySQL++\include\query.h|124|undefined reference to `_imp___ZTTN7mysqlpp5QueryE'| C:\MySQL++\include\query.h|124|undefined reference to `_imp___ZTTN7mysqlpp5QueryE'| obj\Debug\authenticator.o||In function `BadQuery':| C:\MySQL++\include\exceptions.h|286|undefined reference to `_imp___ZTVN7mysqlpp8BadQueryE'| obj\Debug\authenticator.o||In function `~BadQuery':| C:\MySQL++\include\exceptions.h|286|undefined reference to `_imp___ZTVN7mysqlpp8BadQueryE'| C:\MySQL++\include\exceptions.h|286|undefined reference to `_imp___ZTVN7mysqlpp8BadQueryE'| ||=== Build finished: 45 errors, 0 warnings ===|
-
du musst die lib dazulinken
-
Juppie schrieb:
du musst die lib dazulinken
welche lib ? Ich hab bisher alles immer ein einer .cpp geschrieben und kenn mich damit noch nicht so gut aus
-
In der ZIP sollte eine lib mit enthalten gewesen sein, und wenn nicht, dann gucke mal welche Header in authenticator mit eingebunden werden (die Teile die bei #include stehen).
Eine lib (ob *.lib oder *.dll) enthält Funktionsdefinitionen. Die Header-Dateien enthalten nur die Deklarationen. Also der Header sagt praktisch, was alles da ist, und mit der lib kannste drauf zugreifen. Praktisch wie ein Bonbon - das Bonbonpapier (de facto der Header) zeigt dir, was du für Bonbons hast aber damit du weißt wie die schmecken (also die Bonbons benutzen kannst) brauchst du den Bonbon an sich (de facto die lib). Wenn du nur das Papier, also den Header hast, weißt du zwar, was du für einen Bonbon, also Funktionen hast, kannst den Bonbon aber nicht essen, also die Funktionen nicht benutzen, weil du ja nicht weißt wie der schmeckt, also der Compiler nicht weiß, wie die Funktion definiert ist.
-
DEPENDENCIES:
md5 hashing code (included in download, written by L. Peter Deutsch - ghost@aladdin.com)
Mysql C API (libmysql.lib & libmysql.dll) - licensed under GPL (http://dev.mysql.com/downloads/connector/c/6.0.html)
Mysql++ (mysqlpp.lib & mysqlpp.dll) - licensed under LGPL (http://tangentsoft.net/mysql++/)also die libmysql.lib & libmysql.dll konnte ich finden die war im DL mit drin, hab die auch in den linker gepackt zumindest die .lib, wie bindet man denn die .dll ein ?
die mysqlpp.lib & mysqlpp.dll kann ich nicht finden bei google kommt auch kein dl link raus wokriegt man die denn her ?
-
Habe jetzt über 2h lang alles zusammengesucht und includiert (4libs und bestimmt 50 .h dateien funktioniert trozdem noch nichts immernoch >50 erros..
gibt es weniger komplexe alternativen ?
-
Komplex ist relativ.
Normalerweise installiere ich eine Fremd-Lib wie dokumentiert.
Füge den/die Header in mein Projekt ein, füge dieLib zu den Linkeroptionen und das wars.Wenn Du Fehler bekommst hast Du eben was falsch gemcht bei diesen Schritten.
-
Das problem ist da ist nicht wirklich was dokumentiert... da steht ja halt hier abhängigkeiten diese 4 files, was schonmal überhaupt nicht stimmt denn die files haben dann auch wieder abhängigkeiten da kommt man bei 70 oder so raus...