因为最近在学习ceres-solver,其中需要用到Glog库,遇到一些问题,经过一番折腾算是解决了。
Glog的下载安装可以参考http://blog.csdn.net/liminlu0314/article/details/15860677, 或者网上也有很多资料可以参考,都大同小异。
Glog库编译好后有三个文件分别是libglog.dll和ibglog.lib,libglog_static.lib,其中前两个是动态库,libglog_static.lib是静态库。我原来使用的动态库,可是使用动态库需要在每个新建工程的Debug文件夹里粘贴上libglog.dll文件才能运行成功,不是太方便;所以改使用静态库。可是include和lib都配置好了还是不行,这篇文章的作者帮了我大忙,http://blog.csdn.net/aqktjcm/article/details/12402273,按照他所说的,添加预处理定义GOOGLE_GLOG_DLL_DECL= 就可以了。
总结起来就是:
1,动态库libglog.dll和libglog.lib
(1)在新建工程的 Project -> Properties -> C /C++ -> General -> Additional Include Directories 添加
D:\WorkCode\ceres\glog-0.3.3\src\windows ,红色背景的部分改成你自己的golg路径地址
(2)在在新建工程的 Project -> Properties -> Linker -> General -> Additional Library Directories 添加
D:\WorkCode\ceres\glog-0.3.3\Debug ,同样红色背景的部分改成你自己的golg路径地址,这个地址就是libglog.dll和libglog.lib文件所在的路径
(3)在在新建工程的 Project -> Properties -> Linker -> Input -> Additional Dependencies 中填入libglog.lib
这样工程就配置好了,编译完后,将libglog.dll拷贝至新工程的Debug文件夹中,就可以运行成功。
2,静态库libglog_static.lib
(1) 在新建工程的 Project -> Properties -> C /C++ -> Preprocessor -> Preprocessor definitions 中填入GOOGLE_GLOG_DLL_DECL=
(2)在新建工程的 Project -> Properties -> C /C++ -> General -> Additional Include Directories 添加
D:\WorkCode\ceres\glog-0.3.3\src\windows ,红色背景的部分改成你自己的golg路径地址
(3)在在新建工程的 Project -> Properties -> Linker -> General -> Additional Library Directories 添加
D:\WorkCode\ceres\glog-0.3.3\Debug ,同样红色背景的部分改成你自己的golg路径地址,这个地址就是libglog_static.lib文件所在的路径
(4)在在新建工程的 Project -> Properties -> Linker -> Input -> Additional Dependencies 中填入libglog_static.lib
这样工程就配置好了,编译完后,直接就可以运行。
我对glog了解并不深,只是遇到了这么一个小问题,也是头疼了很久,写这篇文章希望能帮到大家。