vcpkg编译第三方库leveldb

vcpkg编译leveldb

1,安装vcpkg
使用git命令直接pull vcpkg源码
git clone https://github.com/microsoft/vcpkg
2,在vcpkg目录执行bootstrap-vcpkg.bat脚本,编译出vcpkg.exe文件
安装过程如果有报错,需要使用vs安装工具重新添加vs组建。
3,在vcpkg目录,即可使用:
vcpkg.exe install leveldb:x64-windows
命令安装,编译leveldb库文件,该命令编译出来的库文件为64位,如果是使用:
vcpkg.exe isntall leveldb
命令,默认安装的是32位,我么使用64位命令来编译leveldb的库文件,执行完成之后,可以看到在下述目录下,生成leveldb的库文件。
**F:\C++\vcpkg\packages\leveldb_x64-windows
4,执行集成命令,将vcpkg生成的库文件集成到vs项目中,命令如下:
vcpkg.exe integrate install
该命令的粒度为所有vs项目级别,粒度比较大,可以使用:
*vcpkg.exe integrate project
命令集成到更小粒度的工程上
5,在vs中设置包管理工具:
工具 >>> NuGet包管理工具 >>> 程序包源 >>> 新建 >>> 源路径填入上述命令生成的路径:
F:\C++\vcpkg\scripts\buildsystems
6,新建c++工程为release x64
7,在工程上,安装NuGet程序包
工程 >>> 右键 >>>NuGet程序包 >>> 浏览 >>> 安装vcpkg


编写leveldb代码:

// leveldb.cpp: 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
#include "leveldb/db.h"

int main()
{
    //创建db
    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 << status.ToString() << std::endl;
    }

    //写操作
    const std::string  key = "name";
    std::string value = "fupeng";
    status = db->Put(leveldb::WriteOptions(), key, value);
    assert(status.ok());

    //读操作
    value.clear();
    status = db->Get(leveldb::ReadOptions(), key, &value);
    assert(status.ok());
    std::cout << key << ":" << value << std::endl;
    //删除db
    delete db;
    return 0;
}

vcpkg使用详细介绍

你可能感兴趣的:(c++)