前一段时间公司使用 MongoDB数据库需要升级到最新4.0以上。同时C++驱动模块也需要升级。在网上用百度、google找了一遍,没有找到现成库文件,以及文档。只好自己找官方文档阅读,以及参考以前版本编译过程。经过2-3周摸索,终于成功编译出来,现在也用到了项目中,跑了一段时间也没有问题。
现在把当时遇到坑,分享给大家。
在编译前,需要准备编译环境。必须准备一台window10系统(有时window1o系统不行,可能跟版本号有关),同时使用vs2017,升级到最新版本。详细说明可以读下github 文档。
编译 c 驱动 问题不大,我编译的64 位,32位驱动也编译成功,但在C++驱动使用时会出现未知异常,所以舍弃了。
在编译C++驱动时,cmake 创建了很多工程,在编译这些工程师,会出现宏错误。需要用vs2017 打开项目,在错误的项目中加入宏(这是因为 vs 更新修复库bug,提醒使用,必须加入宏),后面C++驱动就可以顺利通过编译。
在MFC中使用C++驱动时,在包含文件中会与vs 自带函数冲突。所以需要在驱动冲突头文件中修改。使它们不在同范围。
后面api使用与前面版本有很大不同。可以查看源码包中例子(最有效办法,网上和官网都不是最新的)