最近在学数据库,用c连接时,编译总是各种错,通过网上查询后,总结了一些方法
1.遇到问题,解决的最快方法是上stackoverflow,搜索相关问题,尝试并询问
2.如果没有直接的答案,就要看文档,看说明,mysql 就上mysql官网
上面说的很清楚 运行c api来操作mysql 有#include 必须包含库libmysqlclient
对编译的影响就是 如果要编译mysql.c的话
gcc -L/usr/lib/ -lmysqlclient -I/usr/include/mysql
可是当我运行了上条命令时,却蹦出了
/bin/ld: cannot find -lmysqlclient
上网stackoverflow里面说了查看失败记录的方法
ld -lmysqlclient --verbose
弹出
试图打开 /usr/i686-redhat-linux/lib/libmysqlclient.so 失败
试图打开 /usr/i686-redhat-linux/lib/libmysqlclient.a 失败
试图打开 /usr/local/lib/libmysqlclient.so 失败
试图打开 /usr/local/lib/libmysqlclient.a 失败
试图打开 /lib/libmysqlclient.so 失败
试图打开 /lib/libmysqlclient.a 失败
试图打开 /usr/lib/libmysqlclient.so 失败
试图打开 /usr/lib/libmysqlclient.a 失败
ld: cannot find -lmysqlclient
经过自己查看 我的mysqlclient 在/usr/lib/mysql 下 不在 /usr/lib/下 所以直接cp过来
cp /usr/lib/mysq/* /usrlib
之后运行成功
注:后来有看了下 connector mysql++两个封装库 官网上说如果先安装了这两个包而没有装mysql需要先卸载在安装
c api 使用