Пример leveldb не работает на Windows: ошибка LNK2029 - PullRequest
1 голос
/ 12 февраля 2012

Чтобы протестировать leveldb, я попытался воспроизвести * leveldb пример на VS 2008.

#include <assert.h>
#include "leveldb/db.h"

int main()
{
    leveldb::DB* db;
    leveldb::Options options;
    options.create_if_missing = true;
    leveldb::Status status = leveldb::DB::Open(options,"D:\dev\tools\tmp",&db);
}

У меня есть включенный каталог leveldb / include и связанный libleveldb.lib.

Результат :

ошибка LNK2019: неразрешенный внешний символ "public: статический класс leveldb :: Status __cdecl leveldb:: DB :: Open (struct leveldb :: Опции const &, класс std :: basic_string, класс std :: allocator> const &, класс leveldb :: DB * *) "(? Open @ DB @ leveldb @@ SA?AVStatus @ 2 @ ABUOptions @ 2 @ ABV? $ Basic_string @ DU? $ Char_traits @ D @ std @@ V? $ Allocator @ D @ 2 @@ std @@ PAPAV12 @@ Z) ссылка на функцию _main

ошибка LNK2019: неразрешенный внешний символ public: __thiscall leveldb :: Options :: Options (void) "(?? 0Options @ leveldb @@ QAE @ XZ), на который ссылается функция _main

Кто-нибудь знает, какчтобы это исправить?

1 Ответ

1 голос
/ 12 февраля 2012

Решение:

Использование levelDb-portable от zhangyafreikimi

...