Problem beim compilieren
-
Hallo.
Ich arbeite zum ersten mal mit C++. Mein Studium zwingt mich dazu. Und dann gleich so eine umfangreiche Aufgabe:Ich soll Aus einem Java-Tool eine C++ Bibliotek laden, die dann auf eine mysql-DB zugreift. Und das ganze auf einer ziemlich veralteten Linux-distribution.
Ich hab mir also in einer .c-Datei Methoden geschrieben und diese als JNICALL deklariert, damit ich sie von Java aus aufrufen kann. Das funktioniert schon mal ganz gut.
Das Problem liegt bei dem Zugriff auf die Datenbank. Wenn ich wie folgt kompiliere funktioniert das compilieren. Es fehlt nachher nur beim Ausführen die Bibliotek "mysqlclient"
gcc DbControl.c -o lib/libDbControl.so -shared -I/home/vdbsa/Jens/j2sdk1.4.2_13/include -I/home/vdbsa/Jens/j2sdk1.4.2_13/include/linux -I/usr/include/mysql
Wenn ich diese angebe meldet er mir einen Fehler mit dem ich als Linux und c++ Neuling nichts anfangen kann. Vieleicht kann mir da jemand weiter helfen?
gcc DbControl.c -o lib/libDbControl.so -shared -I/home/vdbsa/Jens/j2sdk1.4.2_13/include -I/home/vdbsa/Jens/j2sdk1.4.2_13/include/linux -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient
Fehler:
/usr/lib/mysql/libmysqlclient.a(client.o)(.text.__i686.get_pc_thunk.bx+0x0): In function\_\_i686.get\_pc\_thunk.bx': : multiple definition of
__i686.get_pc_thunk.bx'
/usr/lib/gcc-lib/i686-hardhat-linux/3.3.1/crtbeginS.o(.gnu.linkonce.t.__i686.get_pc_thunk.bx+0x0): first defined here
/usr/lib/gcc-lib/i686-hardhat-linux/3.3.1/libgcc.a(_fixunsdfdi.oS)(.gnu.linkonce.t.__i686.get_pc_thunk.cx+0x0): In function__fixunsdfdi': ../../gcc/libgcc2.c:935: multiple definition of
__i686.get_pc_thunk.cx'
/usr/lib/mysql/libmysqlclient.a(libmysql.o)(.text.__i686.get_pc_thunk.cx+0x0): first defined here
collect2: ld returned 1 exit statusMeine vermutung währe, das der gcc-Compiler zu alt für die mysql-DB ist.
Es handelt sich um gcc 3.3.1 (ca. 2003)
und um mysql 5.0.2.1 (aktuell)Danke.
-
Dieser Thread wurde von Moderator/in phlox81 aus dem Forum Andere GUIs - Qt, GTK+, wxWidgets in das Forum Datenbanken verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.