mysqlclientライブラリのリンケージ問題
-
21-09-2019 - |
質問
私は、64ビットのCentOS 5.4にはmysqlclientライブラリとアプリケーションをリンクし、(-lmysqlclientを見つけることができません)リンクエラーを取得しています。
:ライブラリは、/ 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
...
とディレクトリが正しく、Linuxのリンカのために登録しているようだ。
una@localhost$ cat /etc/ld.so.conf.d/mysql-x86_64.conf
/usr/lib64/mysql
私はこのマシン上でアプリケーションをリンクすることができる唯一の方法は、私の場合は受け入れられないライブラリファイルにのフルパスのを指定することです。 ここで問題を引き起こす可能性がありますか?
感謝します。
解決
-L/usr/lib64/mysql
ld.so.confのもののみを実行時ではなく、コンパイル時に使用されます。
他のヒント
は/ usr / lib64に/ mysqlのあなたのgccのデフォルトの検索パスに、確かではありません。あなたが配布この種のlibmysqlclientののインストールパスを検索するためにautoconfスクリプトを使用して、動的に-Lフラグで見つかった場所を使用することができます。
所属していません StackOverflow