MongoDB2.4.8 在win7下用VS2010编译出现了几个问题,解决后整理下供大家参考。
1、下载2.4.8源代码
wget http://fastdl.mongodb.org/src/mongodb-src-r2.4.8.zip
2、VS2010 打开mongodb-src-r2.4.8\src\mongodb.sln,举行编译,会陆续报错,在相应目录执行如下语句
a、D:\work\mongodb-src-r2.4.8\src\mongo\base>generate_error_codes.py error_codes.err error_codes.h error_codes.cpp
b、D:\work\mongodb-src-r2.4.8\src\mongo\db\auth>generate_action_types.py action_types.txt action_type.h action_type.cpp
c、D:\work\mongodb-src-r2.4.8\src\mongo\db\fts>generate_stop_words.py stop_words_danish.txt stop_words_dutch.txt stop_words_english.txt stop_words_finnish.txt stop_words_french.txt st
op_words_german.txt stop_words_hungarian.txt stop_words_italian.txt stop_words_list.h stop_words_list.cpp
op_words_german.txt stop_words_hungarian.txt stop_words_italian.txt stop_words_list.h stop_words_list.cpp
3、用如下代码段替换stop_words_list.cpp文件的words[]变量初始化代码
const char * const words[] = { "// stop_words.h" , "" , "/**" , "* Copyright (C) 2012 10gen Inc." , "*" , "* This program is free software: you can redistribute it and/or modify" , "* it under the terms of the GNU Affero General Public License, version 3," , "* as published by the Free Software Foundation." , "*" , "* This program is distributed in the hope that it will be useful," , "* but WITHOUT ANY WARRANTY; without even the implied warranty of" , "* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the" , "* GNU Affero General Public License for more details." , "*" , "* You should have received a copy of the GNU Affero General Public License" , "* along with this program. If not, see <http://www.gnu.org/licenses/>." , "*/" , "" , "" , "#pragma once" , "" , "#include <set>" , "#include <string>" , "" , "#include \"mongo/platform/unordered_set.h\"" , "" , "namespace mongo {" , "" , "namespace fts {" , "" , "class StopWords {" , "public:" , "StopWords();" , "StopWords( const std::set<std::string>& words );" , "" , "void loadStopWordMap( std::map< std::string, std::set< std::string > >* m ){}" , "" , "bool isStopWord( const std::string& word ) const {" , "return _words.count( word ) > 0;" , "}" , "" , "size_t numStopWords() const { return _words.size(); }" , "" , "static const StopWords* getStopWords( const std::string& langauge );" , "private:" , "~StopWords(){}" , "unordered_set<std::string> _words;" , "};" , "" , "}" , "}" , "" , };
4、添加 dbhash.h,dbhash.cpp两个文件加入编译
5、设置命令参数:--dbpath D:\work\data,开启断点,系统成功初始化
相关推荐
解压压缩包后,只要运行install.sh,自动将mongodb驱动安装完整
"VS2010 C++下编译调试MongoDB源码" ...本文档指导了用户如何在VS2010 C++环境下编译和调试MongoDB源码,包括编译Boost库、下载和编译SpiderMonkey库、下载和编译MongoDB源码、编译和调试MongoDB源码等步骤。
通过Querydsl,我们可以构建更复杂的查询表达式,并在编译时进行验证。 5. **Aggregation框架**: Spring Data MongoDB提供了对MongoDB聚合框架的支持,让我们能够处理复杂的聚合操作,如分组、管道操作等,这在数据...
在本文中,我们将详细探讨如何在Visual Studio 2010 C++环境下编译和调试MongoDB源码。MongoDB是一款流行的开源文档数据库系统,它使用C++编写,并依赖于Boost库和其他组件。以下是编译和调试MongoDB源码的步骤: ...
新手可以按照脚本一步一步源码安装MongoDB3.4,没毛病!
编译完成后,找到编译生成的mongodb.so文件。通常,它位于`modules/`目录下,例如`modules/mongodb.so`。将这个文件复制到PHP的扩展目录,通常是`/usr/lib64/php/modules/`(或根据你的系统配置可能是`/usr/lib/...
通常,这些源码会包含在如`mongodb-win32-i386-1.2.1.zip`或`mongodb-win32-i386-1.8.1.zip`这样的压缩包中。解压后,将源码导入到你的开发环境中。 2. **编译环境**:为了编译C++驱动,你需要一个支持C++11标准的...
总的来说,`MongoDB4.0-driver`压缩包包含了用于Windows 10平台,使用VS2017编译的MongoDB C和C++驱动,使得开发者能够便捷地在C/C++项目中集成MongoDB功能。理解这两个驱动的编译过程和使用方法,对于在Windows环境...
"mongo-c-driver-master"文件名表明这是一个MongoDB的C语言驱动源码仓库的主分支。MongoDB C驱动是开源的,它提供了基础的客户端功能,如连接到MongoDB服务器、执行查询、插入和更新文档等。开发者可以将其编译为...
对于Linux用户,一般通过包管理器(如apt-get、yum)或下载源码编译安装。这里我们关注`MongoDB安装与启动.doc`,文档可能包含如下内容: 1. 使用sudo apt-get update更新软件源,然后sudo apt-get install mongodb...
基于centos7的mongoDB7.0.14版本安装包
解压后,`mongo-c-driver-1.17.3`目录包含源码和编译所需文件,开发者可以使用CMake来配置和构建这个库,使其适应不同的平台和编译器环境。 其次,`mongo-cxx-driver-r3.6.2.tar.gz`是C++驱动程序的源码包。这个...
在CentOS上,你可以通过源码编译或者使用RPM包来安装。`CentOS编译安装-MongoDB3.0.x.txt`文件应该包含了详细的步骤。通常,这涉及下载MongoDB的源代码,解压,配置,编译,最后安装。确保在安装过程中遵循最佳实践...
找到`phpize`并运行它,这将准备编译扩展所需的环境: ```bash /usr/bin/phpize ``` 随后,执行`./configure`配置扩展,并根据提示进行操作: ```bash ./configure make sudo make install ``` 最后,将扩展添加...
在Linux环境下安装MongoDB,通常有多种方式,如使用二进制文件、源码编译或者通过RPM包管理器进行安装。本教程将详细介绍如何在Linux环境下通过RPM包安装MongoDB。 首先,你需要确保你的Linux系统是基于RPM的,例如...
1. **阅读源码**:了解MongoDB的内部实现,学习其数据存储、查询优化、网络通信等关键技术。 2. **编译与调试**:根据自身需求对源代码进行修改,并编译成可执行文件,测试新功能或修复bug。 3. **构建定制版**:为...
MongoDB 是一个流行的开源、高性能、无模式的文档型数据库,广泛用于开发现代Web应用程序、大数据分析和存储。...通过配置和编译源码,你可以更好地掌握MongoDB的核心功能,并根据自己的需求对其进行调整。
在Windows平台上,用户可以下载安装包执行安装程序来安装MongoDB,而在Linux平台上,一般通过包管理器或从源码编译来安装。 在MongoDB中,数据存储的单位是集合(Collection),集合由文档(Document)组成,文档是...
这个源代码包包含了 MongoDB 4.0.5 的所有源代码,如果你想从源码编译安装,这将非常有用。通常,我们会使用 `tar` 命令来解压文件,如 `tar -zxvf mongodb-src-r4.0.5.tar.gz`,然后根据需要配置、编译和安装。 在...