mysqlclient库联动问题
-
21-09-2019 - |
题
我联用mysqlclient库在64位的CentOS 5.4的应用程序,并得到一个链接错误(找不到-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的缺省搜索路径。您可以使用Autoconf脚本来搜索的libmysqlclient对这种分布的安装路径,并与-L标志动态地使用所发现的位置。
不隶属于 StackOverflow