MySQL++ mit Code::Blocks, Anwendung startet nicht.
-
Hallo zusammen,
Ich habe ein kleines Problem mit MySQL++ unter Windows und Code::Blocks.
Compiler ist MinGW.Ich habe mysql++ runtergeladen, entpackt und entsprechend der Anleitung für MinGW compiliert.
Dann habe ich ein Projekt zum Testen in Code::Blocks erstellt. Als Quelldatei habe ich einfach die resetdb.cpp aus "mysql++\examples" genommen.
Unter "Project->Build Options ...->Search Directories" habe ich folgendes hinzugefügt:
C:\Program Files\MySQL\MySQL Server 5.1\include
C:\...\mysql++\libUnter "Project->Build Options ...->Linker Settings" habe ich folgendes hinzugefügt:
C:\...\mysql++\libmysqlpp.a
C:\Program Files\MySQL\MySQL Server 5.1\lib\opt\libmysqlclient.aCompilieren hat mit 16 Warnungen geklappt:
C:\MySQL++\include\cpool.h|42|warning: type attributes ignored after type is already defined|
C:\MySQL++\include\mystring.h|104|warning: type attributes ignored after type is already defined|
C:\MySQL++\include\sqlstream.h|38|warning: type attributes ignored after type is already defined|
C:\MySQL++\include\transaction.h|41|warning: type attributes ignored after type is already defined|
C:\MySQL++\include\query.h|62|warning: type attributes ignored after type is already defined|
C:\MySQL++\include\query.h|63|warning: type attributes ignored after type is already defined|
C:\MySQL++\include\scopedconnection.h|41|warning: type attributes ignored after type is already defined|
C:\MySQL++\include\scopedconnection.h|42|warning: type attributes ignored after type is already defined|
C:\MySQL++\include\cpool.h|42|warning: type attributes ignored after type is already defined|
C:\MySQL++\include\mystring.h|104|warning: type attributes ignored after type is already defined|
C:\MySQL++\include\sqlstream.h|38|warning: type attributes ignored after type is already defined|
C:\MySQL++\include\transaction.h|41|warning: type attributes ignored after type is already defined|
C:\MySQL++\include\query.h|62|warning: type attributes ignored after type is already defined|
C:\MySQL++\include\query.h|63|warning: type attributes ignored after type is already defined|
C:\MySQL++\include\scopedconnection.h|41|warning: type attributes ignored after type is already defined|
C:\MySQL++\include\scopedconnection.h|42|warning: type attributes ignored after type is already defined|
||=== Build finished: 0 errors, 16 warnings ===|Beim Starten hat er mir die Fehlermeldungen geworfen, dass er die "mysqlpp.dll" und die "libmysql.dll" vermisst. Die habe ich dann aus
C:\...\mysql++
und
C:\Program Files\MySQL\MySQL Server 5.1\lib\opt
ins Verzeichnis zur .exe Datei kopiert. Jetzt kriege ich folgende Fehlermeldung: "Die Anwendung konnte nicht gestartet werden (0xc000007b). Klicken Sie auf "OK", um die Anwendung zu schließen."
Habt ihr eine Idee, was da schiefläuft?
-
ich arbeite zwar selbst nicht mit mysql++ (war mir zu kompliziert
), sondern verwende noch die altherkömmlich mitgeliefert mysql.h, aber hatte letztens selbst das Problem, welches darauf zurückzuführen war, dass die .dll und die lib nicht aus der gleichen mysql-Version stammten. Vielleicht wäre das ein Ansatz.
-
Habe es immer noch nicht hinbekommen, aber habe alles mysql++ Zeug runtergeworfen, neu entpackt und wollte die mysql++ Library neu erstellen.
Das wiederum ist mir allerdings abgebrochen. Und zwar an folgender Stelle
g++ -o ssqlsxlat.exe ssqlsxlat_genv2.o ssqlsxlat_main.o -mthreads -g -L. -Wl,--
enable-auto-import -Wl,--enable-runtime-pseudo-reloc -L"C:\Program Files\MySQL\M
ySQL Server 5.1\lib\opt" -lmysqlclient -lmysqlpp -lmysqlpp_ssqls2parse
./libmysqlpp_ssqls2parse.a(ssqls2parse_parsev2.o):C:\Users\paul\Documents\cpp Li
bs\mysqlpp/ssx/parsev2.cpp:192: undefined reference tomysqlpp::internal::str_t o_lwr(std::string&)' ./libmysqlpp\_ssqls2parse.a(ssqls2parse\_parsev2.o): In functionType':
C:\Users\paul\Documents\cpp Libs\mysqlpp/ssx/parsev2.cpp:256: undefined referenc
e tomysqlpp::internal::str\_to\_lwr(std::string&)' C:\\Users\\paul\\Documents\\cpp Libs\\mysqlpp/ssx/parsev2.cpp:256: undefined referenc e tomysqlpp::internal::str_to_lwr(std::string&)'
./libmysqlpp_ssqls2parse.a(ssqls2parse_parsev2.o):C:\Users\paul\Documents\cpp Li
bs\mysqlpp/ssx/parsev2.cpp:496: undefined reference tomysqlpp::internal::str_t o_lwr(std::string&)' ./libmysqlpp\_ssqls2parse.a(ssqls2parse\_parsev2.o):C:\\Users\\paul\\Documents\\cpp Li bs\\mysqlpp/ssx/parsev2.cpp:579: undefined reference tomysqlpp::internal::str_t
o_lwr(std::string&)'
./libmysqlpp_ssqls2parse.a(ssqls2parse_parsev2.o):C:\Users\paul\Documents\cpp Li
bs\mysqlpp/ssx/parsev2.cpp:625: more undefined references to `mysqlpp::internal:
:str_to_lwr(std::string&)' follow
collect2: ld returned 1 exit status
mingw32-make: *** [ssqlsxlat.exe] Error 1Leider werde ich da nicht schlau draus. Das Problem liegt beim Linken, okay, aber ich hab keine Ahnung, was da warum schief gelaufen ist.
Hat jemand von euch eine Idee?