樽中酒不空
分类: C/C++
2020-08-06 16:45:33
一 开发工具
Windows使用VS, 首先安装好开发工具,微软官方下载VS,社区版就可以:。
当前最新版本是vs2019,本文使用是vs2017,安装文件实在是太大,没有更新到2019,大家随意。
Linux的开发环境比Windows简单多了,配置好makefile(也可以使用cmake)就完事。
本文不打算写成水文,尽可能不注水,所以关于Linux操作,vc++的使用,vim的使用,以及makefile、cmake、gcc、g++等都不做解释。
顺便推荐几本书做为C++编程的基础:K&R的C语言编程,Lippman的 Essential c++, 有时间再细看C++ Primer,然后具体做Windows开发的可以看Windows核心编程,Linux下开发可以看Unix高级编程或Linux/UNIX系统编程手册。都有英文版本,建议直接看英文。
二 cmake准备
很多开源代码的编译需要cmake,我们直接下载安装。,选择合适版本。
三 glog编译
glog当前(2020年8月5日)最新版本是0.4,下载地址:https://github.com/google/glog/releases/tag/v0.4.0
Linux系统下载 https://github.com/google/glog/archive/v0.4.0.tar.gz
Windows系统下载https://github.com/google/glog/archive/v0.4.0.zip
下载后进行编译,Linux下极简单,官方只说了一句话:./autogen.sh && ./configure && make && make install。
Windows下可以安装mingw等模拟Linux环境,同样运行这句话。
本文以后重点介绍Windows。
1 使用cmake生成vc工程。
打开cmake-gui.exe,显示如下窗口:
最上面表示下载的源码所在位置,下面的表示编译生成的文件保存位置。下面是本文机器的位置:
1和2是刚才说的源码路径和生成文件路径。3是配置,点击后cmake会自动查找系统所需要的依赖。配置之后,再点击4生成VS工程。
点击3,还会弹出一个选项,一般选择64位系统。
然后 点finish。运行过程中会报错:
大意是需要gflas。
这里有两个方案:
1 下载gflags,编译生成再来编译glog。
2 不需要glfags。
本文采用方案2,在cmake gui中,选Advanced然后把WITH_GFLAGS的勾选去掉:
再回到第一步, cmake配置glog,正确填写gflas路径,就解决了。
然后点击Generate,再Open Project。打开VS开始编译, 一切顺便的话如下图:
然后把编译目录下的include,lib文件复制到自己的源码目录下,再VS中配置一下:
项目属性一定要设置成x64的:
”附加包含目录”中要写上头文件位置:
点击(此处)折叠或打开
预编译头选择不用。
然后,在前面代码基础上稍加几行代码就可以了。完整代码如下:
同样放到github上了:
运行结果后,在文件目录下生成一个新的文本文件,用编译工具打开,就看到显示内容。
比如:
文件内容:
最后,对代码简单做一下解释:
glog使用,在程序起始位置加:
google::InitGoogleLogging("demo2.exe");//
google::SetLogDestination(google::GLOG_INFO, "demo2_");
第一行是进程名,第二行是保存位置和文件名。
程序结束时调用:
google::ShutdownGoogleLogging();
glog功能很多,比如可以设置文件名格式,日志文件大小等。还可以修改源码实现自己想要的功能。有时间可以看看代码以及附带的sample。