mongodb引用到了openssl和bson库,因此先要安装这2个库, 还需要用到cmake生成vs项目, 这里cmake的安装就直接忽略了, 有需要的同学可自行百度。
1. 下载perl, 点击打开链接
2. 下载openssl 点击打开链接
3. 在openssl源码目录调用perl Configure VC-WIN32 生成配置
4.运行openssl\ms\do_ms.bat生成nak
5.在当前cmd窗口调用vc的vcvars32.bat生成vc环境变量
6.调用nmake -f openssl\ms\ntdll.mak即可 没有错误将生成成out32dll下的文件(nmake在vc所有的bin上目录下)
7.下载mongo-c-libbson, 这个库在驱动下载下来不知道为什么不在里面,可以手动下载一次
8.在libbson目录下执行 cmake -G "Visual Studio 12 2013" "-DCMAKE_INSTALL_PREFIX=C:\mongo-c-driver"生成项目文件
9.打开build_alll项目用vs生成即可
10.在mongo-c-driver目录下执行 cmake -G "Visual Studio 12 2013" "-DCMAKE_INSTALL_PREFIX=C:\mongo-c-driver" "-DBSON_ROOT_DIR=C:\mongo-c-driver"
DBSON_ROOT_DIR要指向libbson生成的dll目录,还需要设置OPENSSL_INCLUDE_DIR, OPENSSL_LIBRARIES, OPENSSL_ROOT_DIR三个环境变量,分别指向openssl的头文件路径 库路径和根目录
我在编译的时候还出现一个FindOpenSSL list Get empty错误, 把mongo-c-driver\CMakeLists.tst的第8行# include(FindOpenSSL)注释掉就可以了