leveldb
博客专区 > Rechy 的博客 > 博客详情
leveldb
Rechy 发表于4年前
leveldb
  • 发表于 4年前
  • 阅读 204
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: leveldb在vc及mingw下编译(windows下编译最新leveldb)

下载最新版本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库了)

共有 人打赏支持
粉丝 3
博文 30
码字总数 5766
×
Rechy
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: