leveldb 源码编译 vs版本

为什么要windows版本? 因为方便调试跟进 VS的体验真的很不错.

搜索了一段时间才发现GITHUB有windows版本的leveldb

但是使用VS编译也有不少坑

可以下载网络上的其他朋友的版本  也可以新建VS空工程导入代码

git地址 https://github.com/google/leveldb/tree/windows

使用VS新建工程 导入代码

删除posix和test等相关的一些非win环境和测试代码,添加预编译宏.....一系列操作后才成功

 

 测试代码

#include <cassert>  
#include "leveldb/db.h"  
#include <iostream>
#include <string.h>



int main() {
    
    std::cout << "hello world!" << std::endl;

    leveldb::DB* db;
    leveldb::Options options;
    options.create_if_missing = true;
    leveldb::Status status = leveldb::DB::Open(options, "/tmp/testdb", &db);
    assert(status.ok());
    if (!status.ok()) {
        std::cout << "open db failed\n";
        return -1;
    }

    std::string test_key("123"),test_value("456");
    status = db->Put(leveldb::WriteOptions(), test_key, test_value);
    test_value = ("666");
    status = db->Put(leveldb::WriteOptions(), test_key, test_value);
    if (!status.ok() ){
        std::cout << " write db failed\n";
        return -1;
    }
    std::string result;
    status = db->Get(leveldb::ReadOptions(), test_key, &result);
    
    return 0;
}

 

工程文件和代码已经放置进群 QQ群号码见签名

 

posted on 2018-03-25 16:11  itdef  阅读(400)  评论(0编辑  收藏  举报

导航