You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Debian10下MariaDB C++ Connector编译与使用问题求助

MariaDB C++连接器安装与编译问题解决

1. 头文件目录复制失败的修复

你用install命令复制文件时遇到的omitting directory提示,是因为默认install不会递归处理子目录。只要加个-r参数就能完整复制conncpp目录:

sudo install -r include/mariadb/* /usr/include/mariadb/

这样conncpp.hpp这类子目录里的头文件就能被正确放到系统头文件路径了。

2. 编译命令修正

编译时找不到头文件,除了头文件没放对,还要确保编译器能搜到它们,同时指定库的路径。试试这个编译命令:

g++ -o tasks task.cpp -std=c++11 -I/usr/include/mariadb -L/usr/lib/arm-linux-gnueabihf -lmariadbcpp
  • -I/usr/include/mariadb:告诉编译器去这个目录找头文件,解决conncpp.hpp找不到的问题
  • -L/usr/lib/arm-linux-gnueabihf:Debian10 ARM架构下系统库的默认位置,libmariadbcpp.so一般在这里
  • -lmariadbcpp:链接MariaDB的C++连接器库

3. Debian下安装MariaDB C++连接器的标准姿势

手动复制文件容易出问题,Debian下直接用包管理器装才靠谱:

sudo apt update
sudo apt install libmariadbcpp-dev

这个命令会自动把所有头文件、库文件放到系统正确的路径,还能处理依赖,比手动复制省心多了。

4. 版本兼容性说明

MariaDB 10.3.36和对应的C++连接器完全兼容:

  • 10.3系列服务器搭配的是1.0.x版本的C++连接器,两者适配没问题
  • Debian10官方源里的libmariadbcpp-dev会和系统中的MariaDB版本匹配,不用担心兼容性冲突

关于你手动安装的补充

既然手动安装有初步进展,后续可以用install -r代替逐个复制,避免漏掉文件。另外检查下库文件是否存在:

ls /usr/lib/arm-linux-gnueabihf/libmariadbcpp.so

如果找不到这个文件,说明连接器库没装全,优先用包管理器重装,确保依赖完整。

内容的提问来源于stack exchange,提问作者otk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 00:15:43