glog的安装方法有两种:
1.代码编译安装
2.如下
sudo apt install libgoogle-glog-dev
由于之前安装了cartographer,当时已经安装了libgoogle-glog-dev,所以本文针对的是第2种安装方法,对第1种方法并不适用。
然后在包文件夹下创建一个文件夹,我命名为cmake。把FindGlog.cmake放入这个文件夹中,我的FindGlog.cmake是在cartographer中复制的,在carto_ws/src/ceres-solver/cmake文件夹中,当然google也有提供。
配置CMakeList.txt
先设置一下cmake文件夹的路径
SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
然后
find_package(Glog REQUIRED)
最后
target_link_libraries(carto_node glog)
节点程序
#include <iostream>
#include "std_msgs/String.h"
#include <sstream>
#include "ros/ros.h"
#include <glog/logging.h>
int main(int argc, char **argv)
{
FLAGS_alsologtostderr = true; //设置日志消息除了日志文件之外还可显示到屏幕上
FLAGS_log_dir = "/home/zxy/ros/slam_ws/carto_log";//设置日志文件的输出路径
google::InitGoogleLogging(argv[0]);
ros::init(argc, argv, "carto_node");
ros::NodeHandle n;
LOG(INFO) << "GLOG Init!";
ros::spin();
google::ShutdownGoogleLogging();
return 0;
}
运行结果