colinux下找不到mysql.h的历程

本文记录了解决Colinux环境下MySQL编译错误的过程,包括找不到mysql.h头文件、安装mysqlclient-dev失败等问题,并提供了详细的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

colinux下不知道是不是还有人跟我一样的问题。特发此文。望有帮助。

 

1.网上基本的mysql.h都说是位于/usr/include/mysql/mysql.h,但是,colinux里找不到


2.用apt-get mysqlclient-dev;一直获取软件包失败。中间遇到 解析不了域名的问题。
 需要修改DNS域名服务器。修改/etc/resolv.conf,添加DNS服务器比如nameserver 192.168.1.1;ip地址可以去查下联通或者电信的DNS IP;


3.现在可以链接上获取软件包的网站的。可是开始报404的错。把ip打开,的确,不存在。查到现在获取mysqlclient-dev的版本可能不跟其匹配;


4.只能曲线救国,上到http://dev.mysql.com/downloads/mysql#downloads;下载Debian Linux 32位;


5.dpkg -i package.deb   //安装下载到的deb文件


6.安装后。在/opt下发现了mysql。总算是有点希望了啊;


7.
//////试试编译test.cpp
#include "/opt/mysql/server-5.6/include/mysql.h"
#include <stdio.h>
#include <string.h>

#define HOSTNAME ""
#define USERNAME ""
#define PASSWORD ""
#define DATABASE ""
int main() {
    char sql[100];
    MYSQL mysql;
    sprintf(sql, "DELETE FROM test");
    mysql_init(& mysql);
    mysql_real_connect(& mysql, HOSTNAME, USERNAME, PASSWORD, DATABASE, 0, NULL, CLIENT_LOCAL_FILES);
    mysql_select_db(& mysql,"test");
    mysql_real_query(& mysql, sql, strlen(sql));
    mysql_close(& mysql);
    return 0;
}
g++ -o test test.cpp -lmysqlclient

结果又报错。/usr/bin/ld cannot find -lmysqlclient;


8.好吧,查了好久应该是缺少环境设置;、
到/etc/ld.so.conf.d文件夹下,修改conf文件或者新建自己的conf文件.加入绝对路径。
如:/opt/mysql/server-5.6/lib;
然后运行ldconfig(/sbin下的命令)


9.还是不行。最后只能把mysqlclient对应的库文件全部复制到/usr/lib
如:cp -Rf /opt/mysql/server-5.6/lib/* /usr/lib

 

10.到此,问题解决。test.cpp成功编译。colinux下不知道是不是还有人跟我一样的问题。特发此文。望有帮助。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值