質問: ### 前提・実現したいこと C++でleveldbを使用してみたいと思い、visualstudio2015と https://github.com/google/leveldb こちらにあるものを使い非常にかんたんなテストプログラムを組んだところ、エラーが発生しました。 ### 発生している問題・エラーメッセージ ``` 重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態 エラー LNK2019 未解決の外部シンボル "public: __thiscall leveldb::Options::Options(void)" (??0Options@leveldb@@QAE@XZ) が関数 "void __cdecl `dynamic initializer for 'op''(void)" (??__Eop@@YAXXZ) で参照されました。 testwe d:\ライブラリ\Documents\Visual Studio 2015\Projects\testwe\testwe\testwe.obj 1 ``` ### 該当のソースコード ``` #include "stdafx.h" #include"leveldb\db.cpp" int main() { leveldb::Options op; return 0; } ``` ### 試したこと gccでのコンパイルも試してみましたが同じようなエラーが発生しました。 かなり初歩的な質問ですが、解答よろしくお願いします
回答: leveldb自体のビルドしてスタティックライブラリを生成する方法が自力ではわからなかったので、nugetでleveldb-vc140パッケージをインストールしてコードを1箇所修正したらビルド出来ました。 `#include"leveldb\db.cpp"` → `#include"leveldb\db.h"` 未解決の外部シンボルって事なので、生成したスタティックライブラリをインポートするのを忘れているのでは無いでしょうか? `leveldb.lib` 違ってたらごめんなさい。