Ubuntu 22.0安装C++ MySQL插件遇g++编译错误求助
解决Ubuntu 22.0编译C++程序时找不到mysql/mysql.h的问题
问题根源:你安装的
libmysqlcppconn-dev是MySQL C++ Connector的开发包,但代码里引用的<mysql/mysql.h>属于MySQL C API的头文件,这个头文件不在前者包内,而是属于libmysqlclient-dev包。Ubuntu 22.0调整了包结构,旧版系统的依赖关联可能让你无需单独安装这个包,但当前版本必须手动安装。解决步骤:
- 安装缺失的C API开发包:
sudo apt-get install libmysqlclient-dev - 编译时正确链接库:编译命令需要指定链接MySQL的库文件,示例如下:
其中g++ your_program.cpp -o your_program -lmysqlclient -lmysqlcppconn-lmysqlclient对应C API的库,-lmysqlcppconn对应C++ Connector的库,可根据代码实际依赖删减。
- 安装缺失的C API开发包:
补充提示:如果代码仅打算使用MySQL C++ Connector,应替换头文件为
<mysqlx/xdevapi.h>这类C++接口的头文件,而非C API的<mysql/mysql.h>。
内容的提问来源于stack exchange,提问作者A D
相关产品推荐
相关产品推荐

