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

如何解决mongocxx驱动在Qt C++开发中的解析错误?

解决Qt C++使用mongocxx驱动时"types.hp"文件找不到的问题

问题分析

错误提示中查找的是types.hp而非正确的types.hpp,大概率是bsoncxx头文件内部存在拼写错误,或是编译安装过程中生成的文件出现异常。

解决步骤

1. 检查并修正头文件拼写错误

打开报错的头文件/usr/local/include/bsoncxx/v_noabi/bsoncxx/enums/binary_sub_type.hpp,定位到第68行:

  • 查看该行的#include语句,确认是否错误写成了#include <bsoncxx/types.hp>
  • 如果是,将扩展名修正为.hpp,保存后重新构建项目。

2. 验证目标头文件是否存在

执行以下命令检查types.hpp是否存在:

ls /usr/local/include/bsoncxx/v_noabi/bsoncxx/types.hpp
  • 如果文件不存在,说明mongocxx/bsoncxx驱动安装不完整,需要重新编译安装。

3. 重新编译安装mongocxx驱动

删除之前的编译目录,重新执行安装步骤,确保编译过程无报错:

# 进入mongocxx驱动源码目录
cd mongo-cxx-driver-r3.10.1/
rm -rf build
mkdir build && cd build
# 重新运行cmake(确保Boost已正确安装)
cmake .. -DCMAKE_BUILD_TYPE=Release -DMONGOCXX_OVERRIDE_DEFAULT_INSTALL_PREFIX=OFF -DBSONCXX_POLY_USE_BOOST=1
cmake --build .
sudo cmake --build . --target install

4. 调整Qt项目的INCLUDEPATH配置

将/usr/local/include加入INCLUDEPATH,避免头文件引用路径缺失:

INCLUDEPATH += /usr/local/include/mongocxx/v_noabi \
               /usr/local/include/bsoncxx/v_noabi \
               /usr/local/include
LIBS        += -L/usr/local/lib64 -lmongocxx -lbsoncxx

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 19:57:18