mysql linux c找不到头文件解决办法
2013-10-21 11:47
573 查看
mysql linux c找不到头文件解决办法
今天编译了一个C连接mysql数据库的程序,出错是找不到mysql.h头文件,现在把它出错解决办法记录下来。安装libmysqlclient-dev,执行sudo apt-get install libmysqlclient-dev命令;
命令执行完后头文件在/usr/include/mysql目录下,库文件在/usr/lib/mysql和/usr/lib目录下;
假设我们有一个mysql.c源文件:
#include <stdlib.h> #include <stdio.h> #include <string.h> #include <mysql.h> int main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "localhost"; char *user = "root"; char *password = "xxxxxx"; /* password */ char *database = "li"; conn = mysql_init(NULL); if (!mysql_real_connect(conn,server,user, password, database, 0, NULL, 0)) { fprintf(stderr, "%sn", mysql_error(conn)); exit(1); } if (mysql_query(conn, "show tables")) { fprintf(stderr, "%sn", mysql_error(conn)); exit(1); } res = mysql_use_result(conn); while ((row = mysql_fetch_row(res)) != NULL) printf("%s\n", row[0]); mysql_free_result(res); mysql_close(conn); }
执行程序过程如下:
编译 :gcc -c mysql.c -I /usr/include/mysql/ 这里的-I 是指定头文件目录 -c 是编译成目标代码
连接 :gcc mysql.o -o mysql -L /usr/lib/ -lmysqlclient 这里的-L是指定库文件路径
头文件默认的搜索路径包括/usr/include和/usr/local/include;
库文件默认搜索路径包括/lib,/usr/lib,/usr/local/lib;
执行命令默认搜索路径包括/bin,/usr/bin,/usr/local/bin;
相关文章推荐
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- 数据库链接字符串查询网站
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复
- MySQL 优化
- MySQL 数据类型