1

在服务器端安装 MongoDB 后,我尝试使用 C++ 驱动程序代码配置我的客户端,该客户端位于 CentOS 5.6 操作系统上,来自以下链接:

http://dl.mongodb.org/dl/cxx-driver/

安装顺利!我毫无问题地完成了教程,但此时,我需要在我的团队的构建过程中构建它。当我尝试编译时,我收到以下错误:

/usr/local/include/mongo/base/error_codes.h:36: error: expected identifier before numeric constant
/usr/local/include/mongo/base/error_codes.h:36: error: expected '}' before numeric constant

....

在这一点上,我对自己说肯定有另一个#define 与这段代码发生冲突。所以,我运行g++ ... -E命令,发现在 中/usr/include/X11/X.h,有一个#define BadValue.

error_codes.h这对我来说似乎很奇怪,因为如果代码包含在命名空间中的某个命名空间中,我不希望发生这种情况mongo。所以,我搜索了我的整个文件系统,寻找类似using namespace mongo认为全局命名空间被污染的东西,但事实并非如此。我没有看到任何这种情况发生,我想知道 - 因为这两个都是第三方 - 如何解决。

想法?

4

0 回答 0