mysql.h说明文档,mysql.h:没有文件或目录

本文讲述了在编译MySQL时遇到的头文件路径问题,如何正确包含mysql.h、修复编译时找不到-lmysqlclient的错误,以及通过修改配置和指定路径来确保编译顺利。关键在于理解头文件命名空间和库文件位置,并提供了解决方案和相关配置示例。
摘要由CSDN通过智能技术生成

1:mysql.h:没有那个文件或者目录

原:#include    修改后:#include 或者#include

因为:/usr/inlcude/是gcc默认搜寻头文件的一个路径 而/include下有一个mysql目录名与mysql.h命名空间相同,系统不再向下查询。 即如果mysql目录不叫mysql 叫mysqlnew也不会出现这样的情况,所以在mysql.h前面要加上mysql/指明是哪个子目录下的头文件。

所以在这种情况下修改/etc/ld.so.conf.d/mysqlxxxxxxx下的路径ldconfig也是没用。

还有一个方法就是在gcc编译时候指定头文件的路径:

gcc mysql.c -o exe -I /usr/include/mysql-L /usr/include/mysql -lmysqlclient   :-I 可取 -L指定的还是有问题的(下面讲到)

说不清为什么 gcc的编译问题

2:/usr/bin/ld: cannot find -lmysqlclient在默认目录或者-L指定的路径下找不到该库

我的问题是因为路径指定的错误:

原:

gcc mysql.c -o exe -I /usr/include/mysql -L /usr/include/mysql-lmysqlclient   :-I 可取 -L指定的还是有问题的(下面讲到)

find -name *mysqlclient*

搜索关于mysqlclient.so相关的库都在/usr/lib64/mysql/下面 所以:

修改后:

gcc mysql.c -o mysql -L /usr/lib64/mysql-lmysqlclient -I  /usr/include/mysql

gcc $(mysql_config --cflags) xxx.c -o xxx $(mysql_config --libs):这句不知道是什么意思 反正这句可以使上面的问题一个都不出现 是mysql编译的一些配置吧

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值