2010-11-16 23 views
6

Estoy tratando de compilar un programa en C++ y una de las clases utiliza. g ++ no es capaz de encontrar las bibliotecas sería mi suposición. El comando que se utiliza para compilar es -no se puede encontrar -lmysqlclient

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

c3.cpp es el archivo que necesita mysql.h. Este funciona perfectamente en mi máquina local, pero se niega a ejecutar en el servidor con el error

cannot find -lmysqlclient 

Intenté encontrar los archivos libmysqlclient.so en el servidor mediante el comando find, no creo que sean Actualmente existen

uname -a 

revela

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

Soy consciente de que tengo que enlazar algunas bibliotecas, pero donde ¿y cómo?

Cualquier ayuda sería apreciada. Gracias.

+0

¿No puede instalar las bibliotecas que necesita en el servidor? –

+0

No, no tengo el permiso para hacer eso. –

Respuesta

2

¿Tiene las bibliotecas de cliente MySQL? Puede usted buscar como

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

Además, se puede usar la bandera -R el enlazador para HardLink la libmysqlclient como

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

O bien, puede exportar el LD_LIBRARY_PATH_32 o LD_LIBRARY_PATH_64 como

export LD_LIBRARY_PATH_32=$MYSQL_HOME/lib 

Urko,

2

Lo que li Los paquetes brary que crees que no están instalados se pueden instalar usando sudo apt-get install. Pero el problema es encontrar el nombre correcto del paquete que apt-get puede entender ... ¿cómo hacerlo? sencilla

comando use: sudo apt-cache search

Por ejemplo: en este caso lmysqlclient

1> sudo apt-cache search mysqlclient (recuerde excluir 'l' del nombre real, es decir, , mysqlclient y no lmysqlclient)

-esta salidas libmysqlclient-dev - archivos de desarrollo de base de datos MySQL

2> en lo anterior -libmysqlclient-dev es el nombre que apt-get puede reconocer y resolver nuestro no puede encontrar el problema lmysqlclient

así que ahora escriba: sudo apt-get install libmysqlclient-dev desde la interfaz.

después de su finalización, intente hacer que su archivo sea necesario. Funcionó para mí

Cuestiones relacionadas