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使用详细介绍