mysqlclient库连接问题

问题描述:

我在64位CentOS 5.4上连接一个应用程序与mysqlclient库并且得到一个连接错误(找不到-lmysqlclient)。 图书馆是在/ usr/lib64下/ mysql /下:mysqlclient库连接问题

[email protected]$ 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链接:

[email protected]$ cat /etc/ld.so.conf.d/mysql-x86_64.conf 
/usr/lib64/mysql 

的唯一途径,我可以在本机上链接应用程序是通过指定完整路径到我的情况是不可接受的库文件。 这里可能导致问题的原因是什么?

谢谢。

+0

“我可以在这台机器上连接应用程序的唯一方法是指定库文件的完整路径,在我的情况下这是不可接受的。” 为什么这是不可接受的? – Sudhanshu 2010-01-17 10:57:52

-L/usr/lib64/mysql 

ld.so.conf的东西只用于运行时,而不是编译时。

+0

啊哈!我忘记了ld.so是一个装载机,与连接无关。谢谢。 – jackhab 2010-01-17 13:50:20

/usr/lib64/mysql肯定不在你的gcc的默认搜索路径中。您可以使用autoconf脚本在这种类型的发行版上搜索libmysqlclient的安装路径,并使用-L标志动态使用找到的位置。