与 glog 库链接

Linking with glog library

本文关键字:链接 glog      更新时间:2023-10-16

我正在尝试使用glog日志记录库(LINK)。在VS2012(我使用的是Windows 8 Professional 64位(日语))中,我创建了一个空解决方案.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 依赖项系统的情况下手动链接到库,但它是一样的。

我已经从 trunk 为MSVS2012构建了 glog(据我所知,标题中提到的小补丁已经在这里出现),所以它对我有用。看起来缺少 glog 库的依赖项描述。

您可以添加特定于窗口的吗

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

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