eclipse下使用glog记录

不打扰是莪最后的温柔 提交于 2020-03-03 17:57:26

经历了一整天的折磨,开着几十个搜索网页,一堆百度不到的错误之后,终于成功配置好了使用环境,我天
1.跟网上教程一样,首先需要将 .a 的静态文件库(默认路径 /user/local/lib中 文件libglog.a)和glog文件夹下的一堆头文件(默认路径 /user/local/include 中glog的文件夹)复制到你新建项目的src文件夹中,然后刷新项目在这里插入图片描述
2.头文件就会添加到项目中,简单写了一个glog例子,

#include <iostream>
#include"glog/logging.h"
using namespace std;

int main() {
	FLAGS_log_dir="/home/siasunhebo/new_dir/AGV/glog_test1/log_test";//指定日志储存位置   必须在初始化之前
	//FLAGS_logtostderr=true; //输出到屏幕
	FLAGS_alsologtostderr=true;//除了输出到日志外也输出到屏幕
    google::InitGoogleLogging("haha");//初始化
    google::SetLogDestination(google::INFO,"prefix");
    LOG(INFO)<<"INFO_test";
    LOG(WARNING)<<"WARNING_test";
    LOG(ERROR)<<"ERROR_test";
    google::ShutdownGoogleLogging();
	return 0;
}

此时如果直接debug,然后编译运行的话就会出现下面这样的错误
对‘google::InitGoogleLogging(char const*)’未定义的引用 之类的错误在这里插入图片描述
莫慌莫慌,出现这种情况的原因是之前咱copy的 .a静态库文件没有配置进来,配置方法如下:右键你的项目名,选择Properties -> c/c++ Bulid -> Setting ->GCC C++ Linker -> Miscellaneous 在这里插入图片描述
在下面Other objects点击添加按钮,选择你 .a 文件的路径添加上就行了
3.这时候再编译一下,发现会报
对‘pthread_rwlock_wrlock’未定义的引用 等一系列的问题
在这里插入图片描述
莫慌莫慌👀,这种情况是因为 pthread不是Linux下的默认的库,也就是在链接的时候,无法找到phread库中函数的入口地址
所以还要配置一下pthread动态库
还是刚刚的界面在这里插入图片描述
需要再GCC C++Compller GCC C++ Linker 这两项的Command栏里加上
g++ -pthread 注意这里很重要,一定要是 -pthread而不是-lpthread!
-和pthread之间没有空格哈!如果出了问题估计就是这一块的格式问题。
要不然还会报错,这时候在编译,运行就会得到你想要的log文件啦!
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!