经历了一整天的折磨,开着几十个搜索网页,一堆百度不到的错误之后,终于成功配置好了使用环境,我天
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文件啦!