博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
scons编译mongodb(vs2008版本)遇到的问题总结
阅读量:4318 次
发布时间:2019-06-06

本文共 1834 字,大约阅读时间需要 6 分钟。

OS:win7 64

boost:

mongodb:(推荐64位版本,当然如果你系统是32位的,只能使用32的版本了)

IDE:vs2008(2010的同学请跳过吧,因为官网提供的就是2010的版本)

因为项目的需求,要提供vc2008的版本,不得已才折腾的,╮(╯▽╰)╭

-------------------------------------------------------------------------

编译参考,虽然是vs2010的,但是vs2008同理:

遇到的问题:

1.'cl' is not recognized as an internal or external command,

operable program or batch file.

参考:

修改方法:

在  $PYTHON\scons-2.2.0\SCons\Tool\MSCommon\vc.py

# Dict to 'canonalize' the arch_ARCH_TO_CANONICAL = {    "amd64"     : "amd64",    "emt64"     : "amd64",    "i386"      : "x86",    "i486"      : "x86",    "i586"      : "x86",    "i686"      : "x86",    "ia64"      : "ia64",    "itanium"   : "ia64",    "x86"       : "x86",    "x86_64"    : "x86",    #"x86_64"    : "amd64",}

原因可能是我安装vs2008不支持x86_64,所以不能接受“amd64”编译参数,这样修改后,只能编译32位的版本了,注意!

解决办法2:

打sp1的补丁

ISO版的SP1(即VS2008SP1CHSX1512981_20080811.iso):

现在不打sp1的补丁,后面会遇到编译错误,还是要打的。

2.编译的时候找不到“cstdint.h”头文件

这个头文件本身是C11里面的东西。vc2010的sdk有这个,vs2008没有这个。观察这个头文件,只是一些数据类型的定义,故可以替换之.

 使用msinttypes里面stdint.h替换下:

把stdint.h放到你的vc的sdk目录下,类似这样目录:Microsoft SDKs\Windows\v6.0A\Include

并且修改“mongodb-src-r2.4.6\src\mongo\platform”下面cstdint.h中相关代码:

1 #if defined(_MSC_VER)2 #include 
/* #include
*/3 #define _MONGO_STDINT_NAMESPACE /* #define _MONGO_STDINT_NAMESPACE std */

3.编译的时候找不到“EADDRINUSE”和“ECONNABORTED”的定义

打开“mongodb-src-r2.4.6\src\mongo\util\net”下的"listen.cpp",做如下修改:

1 #include "pch.h" 2 #include "listen.h" 3 #include "message_port.h" 4 #include "mongo/base/owned_pointer_vector.h" 5  6 #ifdef _WIN32 7  #define EADDRINUSE     WSAEADDRINUSE 8  #define ECONNABORTED   WSAECONNABORTED 9 #endif10 11 #ifndef _WIN3212 13 # ifndef __sunos__14 #  include 
15 # endif16 # include
17 # include

 

 后面再把整个工程放上来,还有一点细节要修改。待续

转载于:https://www.cnblogs.com/tangdoudou/p/3364015.html

你可能感兴趣的文章
BZOJ2213 [Poi2011]Difference 【乱搞】
查看>>
c# 对加密的MP4文件进行解密
查看>>
AOP面向切面编程C#实例
查看>>
AngularJs学习笔记-慕课网AngularJS实战
查看>>
数据库三大范式
查看>>
工作总结之二:bug级别、优先级别、bug状态
查看>>
访问修饰符、封装、继承
查看>>
更换pip源到国内镜像,提升pip下载速度.
查看>>
POJ 2265 Bee Maja (找规律)
查看>>
Kendo MVVM 数据绑定(七) Invisible/Visible
查看>>
[zz]kvm环境使用libvirt创建虚拟机
查看>>
bzoj1059 [ZJOI2007]矩阵游戏
查看>>
插入返回ibatis 的selectKey 实现插入数据后获得id
查看>>
vim 程序编辑器
查看>>
LIS(单调队列优化 C++ 版)(施工ing)
查看>>
刚接触Vuex
查看>>
四种加载React数据的技术对比(Meteor 转)
查看>>
Airthmetic_Approching
查看>>
操作文本文件
查看>>
公司项目的几个问题
查看>>