文档章节

leveldb

Rechy
 Rechy
发布于 2014/01/07 05:45
字数 267
阅读 276
收藏 0

下载最新版本leveldb(我使用的是leveldb1.15.0)
http://code.google.com/p/leveldb/downloads/list
git地址https://code.google.com/p/leveldb/

mingw编译用到c++11,需要用到mingw中gcc版本>=4.80
#====================================
1.build_detect_platform文件的case "$TARGET_OS" in中加上:

    MINGW*)
        PLATFORM=OS_MINGW
        COMMON_FLAGS="$MEMCMP_FLAG -D_REENTRANT -DOS_MINGW"
        PLATFORM_CCFLAGS="-I/D/CLib/boost_1.55_0"
        PLATFORM_CXXFLAGS="-I/D/CLib/boost_1.55_0 -std=c++11"
        PLATFORM_LDFLAGS="-lpthread -L/D/CLib/boost_1.55_0/stage/lib"
        PORT_FILE=port/port_win.cc
        PLATFORM_SHARED_EXT=
        PLATFORM_SHARED_LDFLAGS=
        PLATFORM_SHARED_CFLAGS=
        PLATFORM_SHARED_VERSIONED=
        ;;
        
#====================================
2.修改port/port.h文件为:

#if defined(OS_MINGW)
#  include "port/port_win.h"
#elif defined(LEVELDB_PLATFORM_POSIX)
#  include "port/port_posix.h"
#elif defined(LEVELDB_PLATFORM_CHROMIUM)
#  include "port/port_chromium.h"
#endif

#====================================
3.修改util/env_posix.cc文件名为util/env_posix.cc.out:

#====================================
4.复制win下的5个接口文件到leveldb根目录
port/port_win.h
port/port_win.cc
util/env_boost.cc
util/win_logger.h
util/win_logger.cc


文件:leveldb_vc_mingw.zip >>


然后就可以到根目录执行命令了:
make
(本编译只生产库文件,测试文件等生成需要第1步的PLATFORM_LDFLAGS值加入所需库
如:
-LD:/CLib/boost_1.55_0/stage/lib
-lboost_filesystem-mgw48-mt-s-1_55
-lboost_system-mgw48-mt-s-1_55
-lboost_thread-mgw48-mt-s-1_55 )

vc下用上文件建立工程编译即可(那就需要vc下的boost库了)

© 著作权归作者所有

上一篇: cygwin下安装apt-cyg
下一篇: zlib
Rechy
粉丝 2
博文 30
码字总数 5766
作品 0
沈阳
程序员
私信 提问
activemq集群假死

现象是:进程都还在,但是端口已经不监听,查看日志发现以下错误,集群重启后就好了,这个情况大家碰到过吗,有规避的办法吗,在这里先谢谢了 2017-01-04 04:43:12,184 | WARN | listeners a...

youarepp
2017/01/05
666
3
rl_set key val能否保证一致性,leveldb写成功,redis写失败如何处理?

redis-storage能否做到强一致性 比如:rl_set key val 往redis和leveldb写值, 优先顺序:leveldb > redis, leveldb如果失败,将中断往redis写,返回错误 那如果,写leveldb成功,写redis时失...

笑天居士
2014/10/27
154
0
cpy-leveldb 0.3.2 发布

概述 cpy-leveldb(https://github.com/forhappy/cpy-leveldb)是根据leveldb c api的基础上写的python 绑定,并且0.3.x系列版本重写了代码,由以前的单文件项目结构分为目前的多文件结构,代码...

大卷卷
2011/09/17
633
0
兄弟连区块链入门教程以太坊源码分析ethdb源码分析

区块链入门教程以太坊源码分析ethdb源码分析,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人...

1505139910833337
2018/10/23
0
0
LevelDB 学习交流

下面PPT作者是@淘宝解伦,PPT中对LevelDB的特点、设计思想及实现原理都有所涵盖,是一篇不错的LevelDB入门教材。对LevelDB感兴趣的同学可以看看。 Google LevelDB Study Discuss...

红薯
2011/09/26
2.2K
1

没有更多内容

加载失败,请刷新页面

加载更多

聊聊中国的通信行业:从“七国八制”到“中华”脊梁

本期文章和大家一起来聊一聊我曾经从事过的通信行业吧。最近各方面信息的泛滥,包括和华为的同学聊天,自己确实也感慨颇多。想想我自己本科主修通信工程,研究生再修信息与通信工程,从本科开...

CodeSheep
48分钟前
3
0
MDK:ARM M451M:exceed the range of code meory, continue to erase or not?

问题: 代码空间超限 几天前就遇到:exceed the range of code meory, continue to erase or not? 如下所示: 解决过程 开始以为中MDK软件的128KB限制,如是就不能生成HEX文件,应该链接时有提...

SamXIAO
55分钟前
1
1
OSChina 周六乱弹 —— 因违反《中华人民共和国治安管理处罚法》第四十四条之规定

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :#今日歌曲推荐# 惊艳分享谷微的单曲《安守本份》(@网易云音乐) 《安守本份》- 谷微 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
今天
266
7
Angular 英雄编辑器

应用程序现在有了基本的标题。 接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 的新组件。 ng gener...

honeymoose
今天
8
0
Kernel DMA

为什么会有DMA(直接内存访问)?我们知道通常情况下,内存数据跟外设之间的通信是通过cpu来传递的。cpu运行io指令将数据从内存拷贝到外设的io端口,或者从外设的io端口拷贝到内存。由于外设...

yepanl
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部