Frage

Ich verlinke eine Anwendung mit der MySQLClient -Bibliothek auf 64 -Bit CentOS 5.4 und erhalte einen Verknüpfungsfehler (fund -lmysqlclient nicht finden). Die Bibliothek ist in/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
     ...

Und das Verzeichnis scheint für Linux -Linker ordnungsgemäß registriert zu sein:

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

Ich kann die Anwendung auf dieser Maschine nur mit der Angabe der angeben vollständigen Pfad in der Bibliotheksdatei, die in meinem Fall inakzeptabel ist. Was könnte das Problem hier verursachen?

Vielen Dank.

War es hilfreich?

Lösung

-L/usr/lib64/mysql

Das Ld.so.conf -Zeug wird nur zur Laufzeit verwendet, nicht zur Zeit.

Andere Tipps

/usr/lib64/Mysql ist sicherlich nicht im Standard -Suchpfad Ihres GCC. Sie können ein AutoConf -Skript verwenden, um nach dem Installationspfad von libmysqlclient auf dieser Art von Verteilung zu suchen und den gefundenen Ort dynamisch mit dem -l -Flag zu verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top