天天看点

vcpkg编译第三方库leveldbvcpkg编译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 ;
}

           

vcpkg使用详细介绍

上一篇: 交房备忘录

继续阅读