Win10安装Glog0.4.0|Cmake|VS2017

准备

下载

Cmake

进入cmake官网点击Download Latest Release下载最新版本,本文档使用Cmake3.19.1。

Glog

进入glog的github主页点击右侧Releases能够下载各个版本的glog,本文档使用glog0.4.0。

VS2017

此处不赘述。

*Gflags

根据网友描述,新版本的glog安装可以不用预先安装gflags。但因为之前在没安装gflags时尝试数次安装都失败了,还是决定先装上gflags。
进入gflags的github主页点击右侧Releases下载,本文档使用gflags2.2.2。

为了方便编译,将cmake、glog、gflags三个压缩包解压在一个文件夹中,同时为glog和gflags建立build文件夹。
为了区分源码和编译后的文件,再新建一个install文件夹。
建立文件夹如图
在install文件夹内新建glog和gflags文件夹

install文件夹

编译及配置环境

Cmake

将cmake文件夹解压后找到cmake-gui并打开。

编译gflags

由于后续编译glog会需要gflags的路径,因此先安装gflags。
打开cmake-gui,并填写以下内容:
gflags编译

  • 点击Configure,选择VS2017平台,点击finish之后会进行短暂读条并出现一堆红色选项。*其余选项不填充,默认为x64平台。
  • 取消选中BUILD_TESTING
  • 选中BUILD_SHARED_LIBS,以便生成.dll文件。如果不存在BUILD_SHARED_LIBS,可通过Add Entry手动添加。
  • 将CMAKE_INSTALL_PREFIX中的地址改为D:/software/3rd_party/install/gflags
  • 再次点击Configure,然后点击Generate,读条完成后点击旁边的Open Project,会自动打开VS2017(也可以进入gflags_build文件夹中找到gflags.sln打开工程)。
  • 分别在Debug x64和Release x64模式下,右键All_BUILD生成。
  • 然后再Debug x64和Release x64模式下,右键INSTALL生成。
    VS
    Tip:右键点击左侧项目找到设为启动项目可以切换项目

编译glog

与上述编译gflags过程相似:
glog编译

  • 点击Configure,选择VS2017平台,点击finish之后会进行短暂读条并出现一堆红色选项。
  • 取消选中BUILD_TESTING
  • 选中BUILD_SHARED_LIBS,以便生成.dll文件。如果不存在BUILD_SHARED_LIBS,可通过Add Entry手动添加。
  • 将CMAKE_INSTALL_PREFIX中的地址改为D:/software/3rd_party/install/glog
  • 选中WITH_GFLAGS
  • 下方gflags_dir=D:/software/3rd_party/install/gflags/lib/cmake/gflags(一般情况下会自动填充)
  • 再次点击Configure,然后点击Generate,读条完成后点击旁边的Open Project,会自动打开VS2017(也可以进入gflags_build文件夹中找到gflags.sln打开工程)。
  • 分别在Debug x64和Release x64模式下,右键All_BUILD生成。
  • 然后再Debug x64和Release x64模式下,右键INSTALL生成。

配置环境变量

回到桌面,右键“此电脑”点击属性,高级系统属性,环境变量,系统变量,Path,新建。
在Path中输入以下地址:
D:/software/3rd_party/install/gflags/bin
D:/software/3rd_party/install/glog/bin

以上,glog的编译已经完成,以下进行测试。

测试

新建工程

在VS2017中新建一个glogtest的新工程,然后找到该工程的文件夹(这个得看大家自己的设置)。
将以下文件复制到glogtest工程的文件夹中:

  • D:/software/3rd_party/install/glog/bin中的glog.dll
  • D:/software/3rd_party/install/gflags/bin中的gflags.dll
  • D:/software/3rd_party/install/glog/lib中的glog.lib
  • glog原始包中的src/windows/glog整个文件夹
    glogtest文件夹

平台设置

右键工程,点击属性,找到配置管理器,将活动解决方案平台调整为x64。
在这里插入图片描述

加入头文件、dll、lib文件

回到属性页。

  • 配置属性 -> 调试 -> 环境
    添加PATH=C:\Users\lostcorner\source\repos\glogtest(即测试工程文件夹)
    在这里插入图片描述

  • 配置属性 -> c/c++ -> 常规 -> 附加包含目录
    添加C:\Users\lostcorner\source\repos\glogtest;
    在这里插入图片描述

  • 配置属性 -> 链接器 -> 常规 -> 附加库目录
    添加C:\Users\lostcorner\source\repos\glogtest;
    在这里插入图片描述

  • 配置属性 -> 链接器 -> 输入 -> 附加依赖项
    添加glog.lib;
    在这里插入图片描述

测试代码

#include "glog/logging.h"
using namespace google;

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

int main(int argc, char* argv[])
{
	// Start google log system:
	FLAGS_log_dir = "d:\\Logs";
	google::InitGoogleLogging(argv[0]);
	google::SetLogDestination(google::GLOG_INFO, "d:\\Logs\\INFO_");
	google::SetStderrLogging(google::GLOG_INFO);
	google::SetLogFilenameExtension("log_");
	FLAGS_colorlogtostderr = true;  // Set log color
	FLAGS_logbufsecs = 0;  // Set log output speed(s)
	FLAGS_max_log_size = 1024;  // Set max log file size
	FLAGS_stop_logging_if_full_disk = true;  // If disk is full
	char str[20] = "hello log!";
	LOG(INFO) << str;
	LOG(INFO) << "info test" << "hello log!";  //输出一个Info日志
	LOG(WARNING) << "warning test";  //输出一个Warning日志
	LOG(ERROR) << "error test";  //输出一个Error日志
	google::ShutdownGoogleLogging();
	return 0;
}

完成!

致谢

在编译过程,感谢以下博主提供思路
https://www.cnblogs.com/zsgyx/p/10920418.html
在测试过程,感谢以下博主提供代码
https://blog.csdn.net/sagittarius_warrior/article/details/77482087

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值