centos c++ 找不到头文件mysql.h

第一次尝试C语言连接mysql数据库,却遇到了找不到mysql.h的情况,上网查找得到了解决方法如下:

c++程序访问mysql报错。

虽然已经装了mysql-libs,还要安装mysql开发包。

yum install mysql-devel

报错,因为php访问mysql的包和系统里已经安装的冲突,按提示执行如下跳过这些包:

 yum --skip-broken install mysql-devel

locate mysql.h

可以找到了。

我用的是epel的源。

编译命令:-I/usr/include/mysql xx.c -L/usr/lib64/mysql -lmysqlclient -o xx

参考:http://www.linuxidc.com/Linux/2008-08/14909.htm

### 解决 CentOS 7 编译时不到 `mysql/mysql.h` 头文件的问题 当遇到编译 C 或 C++ 程序时报错提示 `fatal error: mysql/mysql.h: No such file or directory` 的情况,在 CentOS 7 上通常意味着开发环境中缺失了 MySQL 客户端库的头文件。 为了修复这个问题,需要安装提供这些必要头文件及相关静态链接库的软件包。对于 CentOS 7 来说,可以通过 YUM 软件包管理器来完成这项工作: ```bash sudo yum install mysql-community-devel.x86_64 ``` 这条命令将会下载并安装包含 MySQL 开发所需资源(包括但不限于 `mysql.h` 文件)在内的 `mysql-community-devel` 包[^3]。 一旦成功安装上述组件之后,应该能够正常地在项目里引入 `<mysql/mysql.h>` 并顺利完成编译过程。如果仍然存在其他依赖项问题,则可能还需要进一步调查是否有额外的库或者工具链版本兼容性方面的要求。 另外值得注意的是,确保环境变量 PATH 和 LD_LIBRARY_PATH 已经包含了新安装的 MySQL 库路径;有时这可能是造成某些情况下即使安装好了相应库却依旧报错的原因之一。 最后提醒一点,假如是在生产服务器上操作的话,请务必提前做好备份以及测试验证工作,以免影响现有服务运行稳定性。 #### 示例代码片段展示如何正确引用 MySQL 头文件和链接选项 假设有一个简单的 C/C++ 源码文件名为 `example.c` 需要连接到 MySQL 数据库执行查询语句: ```c #include <stdio.h> #include <mysql/mysql.h> int main() { MYSQL *conn; conn = mysql_init(NULL); /* 连接数据库逻辑 */ return 0; } ``` 编译此程序可以使用如下 gcc 命令行参数指定包含路径与链接库: ```bash gcc example.c -o example -I/usr/include/mysql -lmysqlclient ``` 这里 `-I` 参数指定了查头文件的位置,而 `-l` 则告诉编译器链接哪个外部库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值