VS2010 C++下编译调试MongoDB“.NET研究”源码
2011-10-19 19:40 狼人:-) 阅读(199) 评论(0) 编辑 收藏 举报boost版本1.42:
http://sourceforge.net/projects/boost/files/boost/1.42.0/boost_1_42_0.zip/download
下载boost源码之后,我把boost解压在D盘。
1.在D:\boost_1_42_0\下找到该批处理文件bootstrap.bat,以vs2010命令行方式运行它,并最终生成bjam.exe可执行文件(详细结果及错误信息见生成的bjam.log日志)。
2.将生成的bjam.exe文件拷贝到“D:\boost_1_42_0”目录下,运行下面命令行:
bjam stage variant=debug --stagedir=上海网站建设"上海闵行企业网站制作>d:\boost_1_42_0" --with-filesystem --with-thread --with-date_time --with-program_options --layout=versioned threading=multi toolset=msvc-10.0

bjam stage variant=release .....
ii.如果要全部生成使用下面编译选项
bjam ...... --build-type=complete
编译过程可能会用一些时间,最终会在"D:\boost_1_42_0" 生成一个lib目录,里面包括刚生成的库文件。
3.下载已用vs2010编译的SpiderMonkey库文件及源码包,并将其解压到D盘下,下载链接:
https://github.com/dwight/vc2010_js
将该文件夹名称改为“js”(因为mo上海企业网站制作ngodb项目会默认指定该路径寻找可用的lib及c源文件),如下图:

https://develo上海徐汇企业网站制作per.mozilla.org/en/SpiderMonkey
源码下载链接:
https://developer.mozilla.org/En/SpiderMonkey/Getting_SpiderMonkey_source_code
另外如何使用spidermonkey参见:
http://www.ibm.com/developerworks/cn/linux/shell/js/js_engine/
4.接下来下载并解压mongod源码包(本人下载的是其最新版本:r1.8.0-rc1),这里我将其也解压在了D盘:
mongodb-src-r1.8.0-rc1:
https://github.com/mongodb/mongo/zipball/r1.8.0-rc1
之后利用vs2010打开 D:\mongodb-mongo-4d2aeb6\db目录下的解决方案文件“db_10.sln”, 加载之后的视图如下:




在C/C++常规--“附加包含目录”,中添加"D:\boost_1_42_0"声明,如下图:

5.因为我的机器是32位系统,而下载的mongodb项目设置为64位,所以要修改一下编译方式,如下图: 上海闵行企业网站设计与制作 src="http://daizhj.c上海企业网站设计与制作nblogs.com/images/cnblogs_com/daizhj/mongodebug8.png" alt="" width="604" height="350" /> 一切就绪后,开始编译,时间比较长,耐心等待...
注:如出现“pch.h文件无法打开”的错误信息时,只要在VS2010中的开该文件即可。
6.如果要调试的话,打开“项目属性”--“配置属性”--“调试”--“命令参数”,输入如下参数 :

然后找出db.cpp文件,将断点放在如下函数的第一行代码处:
如下图: 需要说明的是,我一开始使用的是VS2008,但mongodb源码在最新版本中好像就不再提供vs2008的项目文件了,另外我使用vs2008也一直没有成功编译过mongodb,不是缺文件就是链接库编译时有问题(google一下,发现国外同行也被类似问题困扰)。所以大家也就不要再VS2008编译上浪费时间了。
参考链接:
http://www.cnblogs.com/wondering/archive/2009/05/21/boost_setup.html
http://www.cnblogs.com/xdotnet/archive/2008/03/22/boost_install_config.html
http://www.mongodb.org/display/DOCS/Building+with+Visual+Studio+2010
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南