Linux 服务器下C++开发找不到mysql.h

问题背景

腾讯云服务器,linux centOS7 内核 ,mysql 版本5.5 为宝塔腾讯云版自动安装
C++用cmake编译时找不到mysql.h

解决

1.首先尝试yum安装mysql-devel包,但是yum让我直接下载了mariadb相关的包,
下载时它,与原有包冲突bt-mysql55-5.5.62-1.el7.x86_64,
但是删除原有包后mysql启动有问题
所以形成问题闭环
2.意识到应该是有库但是编译连接位置不正确,linux下直接搜索mysql.h,

find / -name mysql.h

结果:

/www/server/mysql/include/mysql.h

静态库 -I(一般是include),动态库 -L(一般是lib)
在cmake中链接该路径即可

cmake如下

server: main.cpp  ./timer/lst_timer.cpp ./http/http_conn.cpp ./log/log.cpp ./CGImysql/sql_connection_pool.cpp  webserver.cpp config.cpp
	$(CXX) -o server  $^ $(CXXFLAGS) -lpthread -L /www/server/mysql/lib/ -lmysqlclient  -I /www/server/mysql/include/  
posted @   SuperGoodGame  阅读(123)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示