2

我正在尝试使用 glog 日志库(LINK)。在 VS2012 中(我使用的是 Windows 8 Professional 64 位(日语)),我使用单个 main.cpp 文件创建了一个空解决方案,就像文档(LINK)中的文件一样。此外,我在解决方案中导入 glog 项目(dll 之一或静态库之一)并设置项目依赖项。为了避免一些错误,我必须注释掉 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 库的依赖描述丢失了。

您可以添加特定于 Windows 的内容吗

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

到您的项目文件之一,例如,直接进入 main.cpp 并对其进行测试。

于 2012-11-06T10:18:01.393 回答