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 @ 2023-09-04 12:59  SuperGoodGame  阅读(104)  评论(0编辑  收藏  举报