2010-11-16 27 views
6

Ich versuche ein C++ - Programm zu kompilieren und eine der Klassen verwendet. g ++ ist nicht in der Lage, die Bibliotheken zu finden, wäre meine Vermutung. Der Befehl i zu kompilieren verwenden ist -kann -lmysqlclient nicht finden

g++ c1.cpp c2.cpp c3.cpp c4.cpp -o c4 -lm -lmysqlclient 

c3.cpp die Datei ist, die mysql.h muss. Diese funktioniert perfekt auf meinem lokalen Rechner, weigert sich aber, mit dem Fehler auf dem Server ausgeführt werden

cannot find -lmysqlclient 

Ich versuchte, die libmysqlclient.so Dateien auf dem Server zu finden, die find Befehl, ich glaube nicht, sie sind Derzeit gibt

uname -a 

zeigt

SunOS opteron 5.10 Generic_139556-08 i86pc i386 i86pc 
[email protected] 12:26:02 ~/c++/projname/ 

ich weiß, dass ich einige Bibliotheken verknüpfen müssen, aber wo und wie?

Jede Hilfe wäre willkommen. Danke.

+0

Können Sie nicht installieren Sie die Bibliotheken, die Sie auf dem Server benötigen? –

+0

Nein, ich habe keine Erlaubnis, das zu tun. –

Antwort

2

Haben Sie die MySQL-Client-Bibliotheken? Können Sie es sucht als

find/-name "libmysqlclient.so" -type f -print 2>/dev/null 

Auch können Sie die -R Flagge Linker verwenden, um die libmysqlclient als

g++ -R/usr/local/mysql/lib .... 

zu Hardlink Oder können Sie die LD_LIBRARY_PATH_32 oder LD_LIBRARY_PATH_64 als

export LD_LIBRARY_PATH_32=$MYSQL_HOME/lib 
exportieren

Urko,

2

Was auch immer Brary-Pakete, die nicht installiert sind, können mit sudo apt-get install installiert werden. Aber das Problem ist, den richtigen Namen des Pakets zu finden, apt-get kann verstehen..so, wie man das macht ?! einfacher

verwenden Sie den Befehl: sudo apt-cache search

Für zB: in diesem Fall lmysqlclient

1> sudo apt-cache search mysqlclient (nicht vergessen, 'l' von den tatsächlichen Namen auszuschließen, dh , mysqlclient und nicht lmysqlclient)

-Diese Ausgänge libmysqlclient-dev - MySQL-Datenbank-Entwicklungsdateien

2> in dem obigen -libmysqlclient-dev ist der Name, apt-get kann erkennen und lösen unsere können nicht finden lmysqlclient problem

so jetzt eingeben: sudo apt-get install libmysqlclient-dev von der Schnittstelle.

nachdem es fertig ist, versuchen Sie machen Ihre erforderlichen file.it funktionierte für mich