2

glogロギングライブラリ(LINK)を使用しようとしています。VS2012(私はWindows 8 Professional 64ビット(日本語)を使用しています)では、ドキュメント(LINK)にあるような単一のmain.cppファイルを使用して空のソリューションを作成します。また、ソリューション内にglogプロジェクト(dll 1または静的ライブラリ1)をインポートし、プロジェクトの依存関係を設定します。いくつかのエラーを回避するために、port.hの97行目をコメントアウトする必要があります。

/* In windows-land, hash<> is called hash_compare<> (from xhash.h) */
#define hash  hash_compare

glogのコンパイル中に、メインアプリケーションから未解決の外部シンボルエラー(dllと静的バージョンの両方)が表示されます。

1>main.obj : error LNK2019: 未解決の外部シンボル "void __cdecl google::InitGoogleLogging(char const *)" (?InitGoogleLogging@google@@YAXPBD@Z) が関数 _main で参照されました。
1>main.obj : error LNK2019: 未解決の外部シンボル "public: __thiscall google::LogMessage::LogMessage(char const *,int)" (??0LogMessage@google@@QAE@PBDH@Z) が関数 _main で参照されました。
1>main.obj : error LNK2019: 未解決の外部シンボル "public: __thiscall google::LogMessage::~LogMessage(void)" (??1LogMessage@google@@QAE@XZ) が関数 _main で参照されました。

Win32としてコンパイルしています。デバッグフォルダを確認すると、実際にはdll+libまたは静的libファイルが含まれています。Visual Studioの依存関係システムを使用せずに手動でライブラリにリンクしようとしましたが、同じです。

4

1 に答える 1

1

私はトランクからMSVS2012のglogを作成しました(私が知っているように、ヘッダーに記載されている小さなパッチはすでにここに示されています)ので、それは私のために機能します。glogライブラリの依存関係の説明が欠落しているようです。

ウィンドウ固有を追加できますか

#pragma comment(lib, "path_to_glog_from_project_dir.lib") 

たとえば、プロジェクトファイルの1つに直接、main.cppに移動してテストします。

于 2012-11-06T10:18:01.393 に答える