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使用詳細介紹