我正在尝试使用glog日志记录库(LINK)。 在VS2012(我使用的是Windows 8 Professional 64位(日语))中,我创建了一个空的解决方案,其中包含一个main.cpp文件,如文档中的那个(LINK)。 我还在解决方案中导入glog项目(dll one或静态库)并设置项目依赖项。 为了避免一些错误,我必须从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依赖系统,但它是一样的。
答案 0 :(得分:1)
我已经从trunk创建了MSVS2012的glog(我已经在这里提供过标题中提到的小补丁,所以它对我有用)。 看起来缺少glog库的依赖描述。
您可以添加特定于Windows的
#pragma comment(lib, "path_to_glog_from_project_dir.lib")
到你的一个项目文件中,例如,直接进入main.cpp并测试它。