Chinaunix

标题: C连接mysql问题 [打印本页]

作者: 丫叩酱    时间: 2012-07-20 16:51
标题: C连接mysql问题
(本人第一次使用c连接数据库,遇到很多问题不知如何解决,还请各位大侠多多指教,谢谢了!!!)



我是将mysql-5.5.25a-linux2.6-i686.tar解压到/usr/local/mysql目录下了
在编译连接时,报错:动态库libmysqlclient.so.18不存在,
在/usr/local/mysql/lib下明明有libmysqlclient.so.18,请问各位大侠,这是为什么呀?

远程连接数据库,源代码:
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include "mysql.h"

int main(void)
{
        MYSQL *conn_ptr;

        conn_ptr = mysql_init(NULL);
        if(!conn_ptr)
        {
                fprintf(stderr, "init mysql failed\n");
                return(-1);
        }


        conn_ptr = mysql_real_connect(conn_ptr, "192.168.2.119", "cly", "123", "test", 3306, NULL, 0 );
        if(conn_ptr)
        {
                printf("Connection success......\n");
        }
        else
        {
                fprintf(stderr, "Connection failed......%d:%s\n", errno, strerror(errno));
        }

        mysql_close(conn_ptr);
        return 0;
}

编译连接时出问题:
[root@localhost testing]# gcc test.c  -o test -Wall -g -I/usr/local/mysql/include -L/usr/local/mysql/lib  -lmysqlclient [root@localhost testing]# ./test
./test: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory


作者: fly6    时间: 2012-07-20 17:35
先装好mysql
作者: yulihua49    时间: 2012-07-21 11:30
丫叩酱 发表于 2012-07-20 16:51
(本人第一次使用c连接数据库,遇到很多问题不知如何解决,还请各位大侠多多指教,谢谢了!!!)

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mysql/lib

作者: egmkang    时间: 2012-07-21 20:44
ldconfig....
作者: lifcu3    时间: 2012-07-21 20:52
看一下你所缺的动态库的是否在加载路径内
作者: file3    时间: 2012-07-21 21:34
ldd test
看下连接的库那个没有找到,然后
ldconfig
或者
cp
作者: 丫叩酱    时间: 2012-09-12 14:32
不好意思,这么长时间才回复大家,非常感谢
作者: klathleen    时间: 2012-09-12 15:21
gcc -o test ./test.c  $(mysql_config --cflags) $(mysql_config --libs)       //mysql_config  这个工具会告诉你这些路径...




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2