执行linux下c程序时找不到my…

不错,解决问题。

    今天看着看着代码,突然就想学学linux下c中怎么连接mysql数据库的。带着好奇的心理编写了,最最简单的连接程序:

    #include <stdio.h>
    #include <mysql.h>


    MYSQL *mysql;//首先要定义个mysql对象,来实现初始化。
     main (void){
        mysql_init(&mysql);//初始化mysql数据库
        if(mysql_real_connect(&mysql,"localhost","root","123qwe","test",3306,0,0)){//此方法是用于连接mysql数据库的,详细参数请参照:http://dev.mysql.com/doc/refman/5.1/zh/apis.html#mysql-real-connect
                printf("OKn");//成功,输出OK
                return 0;
        }
        else {
                printf("ERORRn");//失败输出ERORR
        }
    }

    简单编译下:gcc -0 test_sql test_sql.c -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient

    悲催的来了:test_sql.c:2: fatal error: mysql.h: 没有那个文件或目录.

    居然告诉我说没有mysql.h这个文件,可是实验了,我确实安装了mysql了啊。。。。。。。

    我想可能是缺少lib库了吧,百度啊,google啊,一顿搜,哦!~

    原来是缺少libmysqlclient-dev,OK安装就是了,apt-get install libmysqlclient-dev

    继续编译,结果:

    test_sql.c: In function ‘main’:
test_sql.c:7: warning: passing argument 1 of ‘mysql_init’ from incompatible pointer type
/usr/include/mysql/mysql.h:434: note: expected ‘struct MYSQL *’ but argument is of type ‘struct MYSQL **’
test_sql.c:8: warning: passing argument 1 of ‘mysql_real_connect’ from incompatible pointer type
/usr/include/mysql/mysql.h:441: note: expected ‘struct MYSQL *’ but argument is of type ‘struct MYSQL **’

OK啦!~虽然有些细节不太好,但是也算是出来了

接着运行。./test_sql,结果是OK,高兴!!!![转载]执行linux下c程序时找不到mysql.h的解决办法~~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值