2010-11-16 15 views
6

J'essaie de compiler un programme C++ et l'une des classes utilise. g ++ n'est pas en mesure de trouver les bibliothèques serait ma conjecture. La commande que j'utilise pour compiler est -ne peut pas trouver -lmysqlclient

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

c3.cpp est le fichier qui nécessite mysql.h. Ce fonctionne parfaitement sur ma machine locale, mais refuse d'exécuter sur le serveur avec l'erreur

cannot find -lmysqlclient 

J'ai essayé de trouver les fichiers libmysqlclient.so sur le serveur en utilisant la commande find, je ne pense pas qu'ils sont il présente

uname -a 

révèle

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

Je me rends compte que je dois relier certaines bibliothèques, mais où et comment?

Toute aide serait appréciée. Merci.

+0

Pouvez-vous pas installer les bibliothèques dont vous avez besoin sur le serveur? –

+0

Non, je n'ai pas la permission de le faire. –

Répondre

2

Avez-vous les bibliothèques client MySQL? Pouvez-vous chercher comme

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

, vous pouvez également utiliser le drapeau -R sur linker pour HardLink le libmysqlclient comme

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

Ou, vous pouvez exporter le LD_LIBRARY_PATH_32 ou LD_LIBRARY_PATH_64 comme

export LD_LIBRARY_PATH_32=$MYSQL_HOME/lib 

Urko,

2

paquets brary vous pensez que n'est pas installé peut être installé en utilisant sudo apt-get install. Mais le problème est de trouver le bon nom du paquet apt-get peut comprendre .. comment faire cela?! simple,

commande use: sudo apt-cache

Pour exemple: dans ce cas lmysqlclient

1> sudo apt-cache mysqlclient (souvenez-vous d'exclure 'l' du nom réel, à savoir , mysqlclient et non lmysqlclient)

-Ce sorties libmysqlclient-dev - fichiers de développement de base de données MySQL

2> dans le -libmysqlclient-dev ci-dessus est le nom que apt-get peut reconnaître et résoudre notre problème ne peut pas trouver lmysqlclient

maintenant tapez: sudo apt-get install libmysqlclient-dev de l'interface.

après son fait, essayez de faire ur file.it nécessaire a marché pour moi

Questions connexes