使用MinGW和MSYS2构buildMongoDB C ++驱动程序

试图用MSYS2的MinGW为自己的项目构buildMongoDB C ++驱动程序。 我成功地build立了libbsonMongoDB C driver 。 之后,使用下一个命令为MinGW创build构build项目:

 $ cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=d:/build/mongo-cxx-driver -DLIBBSON_DIR=d:/build/mongo-c-driver -DLIBMONGOC_DIR=d:/build/mongo-c-driver -DBSONCXX_POLY_USE_BOOST=1 .. $ mingw32-make install 

之后,构build失败的比例为82%:

 [ 82%] Building CXX object src/mongocxx/test/CMakeFiles/test_driver.dir/collection_mocked.cpp.obj ... (a lot of warnings) D:/tools/mongo-cxx-driver/src/third_party/catch/include/catch.hpp:823:34: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] return opCast( lhs ) == opCast( rhs ); ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ mingw32-make[2]: *** [src\mongocxx\test\CMakeFiles\test_driver.dir\build.make:188: src/mongocxx/test/CMakeFiles/test_driver.dir/collection_mocked.cpp.obj] Error 1 

错误发生在第三方软件中。 我怎样才能避免这个问题? 是否有可能不build立testingMongoDB?

更新:

这个问题可以通过在mongo-cxx-driver\src\bsoncxx\CMakeLists.txtmongo-cxx-driver\src\mongocxx\CMakeLists.txt add_subdirectory(test)行来解决。 这将删除testing的要求, catch源将被忽略。