zoukankan      html  css  js  c++  java
  • 用Qt Creator 对 leveldb 进行简单的读写

    #include <iostream>
    #include <string>
    #include <leveldb/db.h>
    #include <boost/lexical_cast.hpp>
    
    using namespace std;
    
    int main(int argc, char *const *argv)
    {
    
        try
        {
            leveldb::DB* db;
            leveldb::Options options;
            options.create_if_missing = true;
            leveldb::Status status = leveldb::DB::Open(options, "./db", &db);
    
            cout << status.ok() << endl;
    
            for(int i=0; i<99999; i++)
            {
                string key = boost::lexical_cast<string>(i);
                string value = boost::lexical_cast<string>(i*i);
                db->Put(leveldb::WriteOptions(), key, value);
            }
    
            string key = "666";
            string value;
    
            db->Get(leveldb::ReadOptions(), key, &value);
    
            cout << value << endl;
            cout << 666*666 << endl;
    
            delete db;
        }
        catch(exception &e)
        {
            cout << e.what() << endl;
        }
    
        return 0;
    }

    代码没什么特色,因为Qt Creator在编译的时候会加上 -mmacosx-version-min=10.6 这样的参数,所以我们在编译libleveldb.a的时候也需要加上这个参数,否则在Qt下就会报错。

    .pro文件需要加上这两行:

    TEMPLATE = app
    CONFIG += console
    CONFIG -= app_bundle
    CONFIG -= qt
    
    SOURCES += main.cpp
    
    INCLUDEPATH += /opt/local/include
    LIBS += -L/opt/local/lib/ -lleveldb

    如果是用cmake,那就没有 -mmacosx-version-min=10.6 这样的参数的问题了,只需要这样:

    project(hellodb)
    cmake_minimum_required(VERSION 2.8)
    aux_source_directory(. SRC_LIST)
    add_executable(${PROJECT_NAME} ${SRC_LIST})
    
    INCLUDE_DIRECTORIES(/opt/local/include)
    TARGET_LINK_LIBRARIES (hellodb /opt/local/lib/libleveldb.a)
  • 相关阅读:
    Oracle 18c新特性一览
    iOS xcode缓存问题
    预编译头文件
    iOS 限制UITextField输入字符
    网络通信之 字节序转换原理与网络字节序、大端和小端模式
    iOS 库文件制作
    iOS 全屏布局
    内存问题 动态加载地址和运行时地址
    申请工作居住证政策解答
    phpsession配置
  • 原文地址:https://www.cnblogs.com/afxcn/p/3998374.html
Copyright © 2011-2022 走看看