![VS2010C++下编译调试MongoDB源码_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-12/1/601c8a72-0ded-4427-ac06-1a272331833e/601c8a72-0ded-4427-ac06-1a272331833e1.gif)
![VS2010C++下编译调试MongoDB源码_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-12/1/601c8a72-0ded-4427-ac06-1a272331833e/601c8a72-0ded-4427-ac06-1a272331833e2.gif)
![VS2010C++下编译调试MongoDB源码_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-12/1/601c8a72-0ded-4427-ac06-1a272331833e/601c8a72-0ded-4427-ac06-1a272331833e3.gif)
![VS2010C++下编译调试MongoDB源码_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-12/1/601c8a72-0ded-4427-ac06-1a272331833e/601c8a72-0ded-4427-ac06-1a272331833e4.gif)
![VS2010C++下编译调试MongoDB源码_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-12/1/601c8a72-0ded-4427-ac06-1a272331833e/601c8a72-0ded-4427-ac06-1a272331833e5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VS2010 C+ 下编译调试MongoDB 源码考虑到mongodb使用了 boost库源码,参考 mongodb官方文档后,下载编译 boost版本是1.42(时间为2010-2-2)或更新版本:boost 版本 1.42 :http:/sourceforge. net/projects/boost/files/boost/1.42.0/boost_1_42_0.zip/dow nloadboost解压在D盘。下找到该批处理文件bootstrap.bat可执行文件(详细结果及错误信息见生成的D: boost_1_42_0下载boost源码之后,我把,以vs2010命令行方式运行它,bjam
2、 .log 日志)。目录下,运行下面命令行:"d:boost_1_42_0" -with-files-with-program_optio ns -layou10.01. 在并最终生成bjam .exe2. 将生成的bjam .exe文件拷贝到bjam stage variant=debug -stagedir= ystem -with-thread-with-date_timet=versi oned thread in g=multi toolset=msvc-如下图:cT Visual Studio 佥令提示(201(0P: boost_l_42_8>b jai
3、nvariant=debuff -stagedir=',d: boost_l_42_0" -with-f ilesvstem with-thread -一with-date_tine -with-progr*m_options layout=versione d threading=nulti tooIset =nsvc-10-0WA RNTMG: Ho pvt hon installation configured And autoconfionfailed Seeboost.or/libs/pvthon/doc/buildin.htnlfop confiruration
4、instructions or pass 一一ithout-python to suppress thisand silently skip aIJ Boost .Pj/thon targets* .patience d: boost_l_42j0libbin v2bin.u21lbsbin * v21ibsdate_t inebin * v21ibsdate_t inebuildbin * v2 1 ibsdate_t ime Xbuild'Mnsuc-lB. 0bin * v2 1 ihsdate_t ime Xbuild'Mnsuc-lB 0debugbin * v2 1
5、 ihsdate_t ime Xbuild'Mnsuc-lB. 0debugl ink-stat icbin * v2 1 ib? date_t inte buildRsuc-10.0debugl ink-stat ic t breadingnbin * v2 1 lbs date_t inte buildmsuc-10.0debugflic St breadingn*found 825 tappets. .updating 72 target. cannon «nkdii* cannon «nkdii* connon «nkdii* connon
6、71;nkdii* connon «nkdir connon * nkdir connon * nkdir connon.nkdir connon.nkdir ulti connon - mkdirultiSgregor ian compilecc + bin >u2liba Sdate_tine Sbuild'Misuc10*0debusflinJ«staticSthreading- nult ifregor ian gre sf_inont h. ob j greg-moint h.cpp compilecc + bin >u2libs Sdate_
7、tiine buildfisuc10_0debusflin J<stat ic St lire ad in g-: nu It ifregorian gre g_weelida9- oh j gre g_we e kda ycppcompile-cc + bin »u2libs date_tine XbuildXfisuc10.0debusfXlinkstaticXthreading- mu It ifregorian Sdate-generators ,obj注:i.如果要生成release链接库文件,需将上面的 variant设置成release,形如:bjam stage
8、 variant= releaseii.如果要全部生成使用下面编译选项bjam-build-type=com plete生成一个lib目录,里面包括刚生编译过程可能会用一些时间,最终会在"D:boost_1_42_0"成的库文件。3.下载已用VS2010编译的SpiderMonkey库文件及源码包,并将其解压到D盘下,下载链接:/dwight/vc2010_js将该文件夹名称改为"js(因为mongodb项目会默认指定该路径寻找可用的lib及c源文件),如下图:说明:SpiderMonkey是由C语言操作的JavaScript 引擎,它支持JS1.4和ECMASc
9、ript-262 规范。该引擎分析、编译和执行脚本,根据JS数据类型和对象的需要进行内存分配及释放操作。目前它是Mozilla项目的一部分。可通过下面链接了解更多信息:/en/SpiderMon key源码下载链接:/E n/SpiderM on key/Getti ng_SpiderM on key_source_code另外如何使用spiderm on key参见:http:/www.ibm .com /developerworks/cn/linux/shell/js/js_en
10、gine/4.接下来下载并解压mon god源码包(本人下载的是其最新版本:r1.8.0-rc1 ),这里我将其 也解压在了 D盘:mon godb-src-r1.8.0-rc1: /m ongodb/m ongo/zipball/r1.8.0-rc1之后利用vs2010 打开 D:m ongodb-m ongo-4d2aeb6db目录下的解决方案文件db_1O.s In”加载之后的视图如下:在其中的mon god项目上,点击鼠标右键,打开"属性"对话框,在 配置属性” “C+目录”-"包含目录"中点 编辑”: Dngod歴性页JJ2SJ配養 ©
11、; . |SSb CDebue)平台世):|洁动仗閏)配置管理黑 .*遇用屈性 n “配置属性 “常规 调试+Ek±13*1VC+#目录C/CW链接器诸单工具IML文档生成器浏览信息生成爭件自定义生咸步骤 试码分祈可执行文件目录包含目录引用目录 库目录 谓目录 排除目录S (VCInst allDir)bi nx66_wnd64: $ (VCInstallDir)ti .+S (Iuclvderalh)jJ$ IKIhit«11Dir) includt;$ OTCInitillDir Ulmfc添加对上面的boost源码文件路径的包包含目录含:両从父级或项目默认设置继点Q)
12、设置库文件目录选项继承的值$ (WinstallDir)include$ (VCIns t sllDir) atlmf cinclude$ 皿 i ikdoH sSdkDi 丫i$ ijr adFi ew ork5DKB i r ) i ncludejj中添加对刚编译的boost库的路径"D:boost_1_42_0lib" 声明,如下图:库目录$(YCIEtallBirnib4fn(154$ (VCInstallDir atlmfclLbamil64$(AindsSdltDirnibj:64|7从父缴或项目默认设置魅承U)确定宏処)计取消A魅总的值:在C/C+常规-附加包
13、含目录中添加"D:boost_1_42_0"声明,如下图:性页T 配置菩理器也匕诵用属性框架和引用 配晝属性常规调试VC+目录= C/C+处理黑 代码生成包含目录解折#nr调試信公英谑警甘笔将警告为汇編阳加包含目录 jssrc;. pcreT. 4;c;b*osti Vb&oazi).田.尹±1-链清资3 -OL文档生成黑 +浏览信息3生成事件由自走义生成步骡 勺优玛分祈疣追)厂从父级或项目默认设置继承(T取消仇簡径昵 取消矶j I5.因为我的机器是32位系统,而下载的mongodb项目设置为64位,所以要修改一下编译方 式,如下图:活动解决方秦配宣(D:
14、活动辭决方案平台疋)项目上下文飽定要生成或部暑的项目配置)尬):项目1配置平台生成|lbsond 电 unciE«bugWin32£D«bugVin32mangosDebugtest programi«bugtfin32t«stDebugWin32£切就绪后,开始编译,时间比较长,耐心等待注:如岀现“pch.h文件无法打开”的错误信息时,只要在 VS2010中的开该文件即可。6.如果要调试的话,打开 项目属性”配置属性”-调试”-命令参数”输入如下参数"-dbpath d:mon godb'db" &quo
15、t;-port 27017" OnEod屋性页raxi配養©: |活动6*应以3 平會:|活动血石打Z配置管理器a)-要启动的调试器:|本地肌嗣卽£调试器F+通甲犀愕-配置属性国-e.e'e-s'+±1VC+*日录C/C+-忧化!预处理器 代码生咸 语宫 预徧译头 输出文件 浏览信息命令疔關接器 清单工具XML文挡生成器浏览信息 生成事件 自定义生成歩骤代咼分折$ (TargetFath)m命令参数| Mdbpatlh d; Boiiga4bdl* *一一port 2T01T*|工作目录$ Crcj ectDir)附加否调试器类型自动环境
16、合并环慎是SQL调试否命令奉数要槎谨到应用程序的命令行参数确定 | 取捎 _ 应用® |然后找岀db.cpp文件,将断点放在如下函数的第一行代码处:int m ain(int argc, char* argv)如下图:db. cpp XEpm_lock cpprwltbck. hindex, h js32r. libjS32d. libpcre. h准局范围)* ¥mfliinfintchar * ar刖)returndjogi c. h d_mi grat唯.cpp d_split.cppd_writ«back c;三 irrt main(int argcf c
17、har* argv) database, cppdatabase, hst at ic St at i cOb server staticObserver; getcurns = ourgetns.dbclifliit. cpp dbcli 史 nt. h 迅_jte. cj dbcl i tiLteur aoidistinct. 血妣l&ck.100%db. cppc血dbdbclitntcurifli dbconwiaiiJis. cpj dbc onwi aiiiis_adn dbc oma aiidlE_g:ei dbtval. cpp dbhtlptri. cpp dthal
18、per. h dbinfo. h dblogger. h dh«eE£ag:e. h dKwtbxtrvtr. cj 口匸util, h diskloc. h卩o: s opt ions.descript ion <eneral_opt ians C"General pticns"');-#if defined CWIW3 2)po: opt ions_descEipticui windows_scm_options C Windows Servic 已 Control Manager opt io #endifpot 2 opt ioins_dftseript ionpo:;optd&s c r ipt i cnpo:opt ions.descript ionpo:opt ions_ des c r ipt i onpo:opt ions_ des c r ipt i onpot 2 options descript ionion_optians ("Rftplication opt ions*).; ns_opt ions (" Mart er/siave opt icnsr): rs_options C"Replica set o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中数学人教版九年级下册同步听评课记录28-2-1 第1课时《 解直角三角形》
- 2025年筒式采煤机合作协议书
- 北师大版七年级下册数学听评课记录:第六章《概率初步回顾与思考》
- 部审湘教版七年级数学下册3.3 第2课时《利用完全平方公式进行因式分解》听评课记录
- 青岛版数学七年级下册《10.1 认识二元一次方程组》听评课记录2
- 人教版道德与法治八年级上册5.3《善用法律》听课评课记录
- 湘教版数学九年级上册4.1.2《正弦》听评课记录
- 五年级上数学听评课记录
- 土地复垦合同范本
- 小区住宅房屋转租合同范本
- 2024-2030年中国酒类流通行业发展动态及投资盈利预测研究报告
- 物业管理如何实现降本增效
- JBT 1306-2024 电动单梁起重机(正式版)
- 信息科技重大版 七年级下册 互联网应用与创新 第一单元单元教学设计 互联网创新应用
- 高中政治必刷题 高考真题 必修3《政治与法治》(原卷版)
- 2024智慧城市城市交通基础设施智能监测技术要求
- 2024年执业医师考试-医师定期考核(人文医学)笔试参考题库含答案
- 【心理学与个人成长课程论文3500字】
- JJG 1138-2017煤矿用非色散红外甲烷传感器
- 2024年极兔速递有限公司招聘笔试参考题库附带答案详解
- 2024-2030年中国无人机光电吊舱行业市场深度研究及投资规划建议报告
评论
0/150
提交评论