link_LevelDB.xcpjh
//////////////////// LevelDB //////////////////////
/*
Instructions for Windows
1) Download this branch of LevelDB for Windows
https://github.com/ren85/leveldb-windows
Copy source code into C:\developer\_root_\ThirdParty.Ceda\leveldb-windows-master
2) Run LevelDB.sln and allow upgrade from VS2013 to VS2015
3) Build configurations: release|x64
release|Win32
4) This creates folders
C:\developer\_root_\ThirdParty.Ceda\leveldb-windows-master\x64\Release
C:\developer\_root_\ThirdParty.Ceda\leveldb-windows-master\x86\Release
Problem: Get linker errors
error LNK2001: unresolved external symbol "public: __cdecl leveldb::Options::Options(void)" (??0Options@leveldb@@QEAA@XZ)
error LNK2001: unresolved external symbol "public: static class leveldb::Status __cdecl leveldb::DB::Open(struct leveldb::Options const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class leveldb::DB * *)" (?Open@DB@leveldb@@SA?AVStatus@2@AEBUOptions@2@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAPEAV12@@Z)
error LNK2001: unresolved external symbol "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl leveldb::Status::ToString(void)const " (?ToString@Status@leveldb@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
*/
@if (IsWindowsPlatform)
{
$LEVEL_DB = "C:/developer/_root_/ThirdParty.Ceda/leveldb-windows-master"
+cpp
{
/I "$(LEVEL_DB)/include"
/D "CEDA_USING_LEVEL_DB"
}
+link("Win32")
{
/LIBPATH:"$(LEVEL_DB)/x86/Release"
"LevelDB32.lib"
}
+link("x64")
{
///LIBPATH:"$(LEVEL_DB)/x64/Release"
"$(LEVEL_DB)/x64/Release/LevelDB64.lib"
//"$(LEVEL_DB)/x64/Release/LevelDB64.iobj"
}
}