VS2010 C++下编译调试MongoDB“.NET研究”源码
2011-10-19 19:40 狼人:-) 阅读(198) 评论(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
![](https://daizhj.cnblogs.com/images/cnblogs_com/daizhj/mongodebug1.png)
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://daizhj.cnblogs.com/images/cnblogs_com/daizhj/mongodebug7.png)
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”, 加载之后的视图如下:
![](https://daizhj.cnblogs.com/images/cnblogs_com/daizhj/mongodebug4.png)
![](https://daizhj.cnblogs.com/images/cnblogs_com/daizhj/mongodebug2.png)
![](https://daizhj.cnblogs.com/images/cnblogs_com/daizhj/mongodebug3.png)
![](https://daizhj.cnblogs.com/images/cnblogs_com/daizhj/mongodebug5.png)
在C/C++常规--“附加包含目录”,中添加"D:\boost_1_42_0"声明,如下图:
![](https://daizhj.cnblogs.com/images/cnblogs_com/daizhj/mongodebug9.png)
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.如果要调试的话,打开“项目属性”--“配置属性”--“调试”--“命令参数”,输入如下参数 :
![](https://daizhj.cnblogs.com/images/cnblogs_com/daizhj/mongodebug10.png)
然后找出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,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步