Pregunta

Me une una aplicación con mysqlclient biblioteca de 64 bits CentOS 5.4 y obtener un vínculo de error (no se puede encontrar -lmysqlclient).La biblioteca se encuentra en /usr/lib64/mysql/:

una@localhost$ ll /usr/lib64/mysql/
total 9072
    ...
lrwxrwxrwx 1 root root      26 Jan  3 15:54 libmysqlclient_r.so -> libmysqlclient_r.so.15.0.0
lrwxrwxrwx 1 root root      26 Jan  3 15:54 libmysqlclient_r.so.15 -> libmysqlclient_r.so.15.0.0
-rwxr-xr-x 1 root root 1518456 Sep  4 01:28 libmysqlclient_r.so.15.0.0
lrwxrwxrwx 1 root root      24 Jan  3 15:54 libmysqlclient.so -> libmysqlclient.so.15.0.0
lrwxrwxrwx 1 root root      24 Jan  3 15:54 libmysqlclient.so.15 -> libmysqlclient.so.15.0.0
-rwxr-xr-x 1 root root 1514000 Sep  4 01:28 libmysqlclient.so.15.0.0
     ...

Y el directorio parece estar correctamente registrado para Linux vinculador:

una@localhost$ cat /etc/ld.so.conf.d/mysql-x86_64.conf 
/usr/lib64/mysql

La única manera en que puedo vincular la aplicación de esta máquina es mediante la especificación de la ruta de acceso completa para el archivo de biblioteca que es inaceptable en mi caso.Lo que podría causar el problema aquí?

Gracias.

¿Fue útil?

Solución

-L/usr/lib64/mysql

Las cosas ld.so.conf sólo se utiliza en tiempo de ejecución, no en tiempo de compilación.

Otros consejos

/ usr / lib64 / MySQL no está ciertamente en la ruta de búsqueda predeterminada de su gcc. Es posible utilizar un script autoconf para buscar la ruta de instalación de libmysqlclient en este tipo de distribución, y utilizar de forma dinámica la ubicación encontrado con la bandera -L.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top