Linux下 QT中 log4cplus 最基本配置及使用

鉴于网上很多使用方法不是很详细,对小白不友好,并且以此作为记录,方便下次配置。
本文是基于我自己下载的版本写的,请各位根据自己下载的版本更改具体文件名。

1.下载log4cplus

本人下载的版本是1.2.x ,压缩包文件名:log4cplus-1.2.x.tar.gz

  • 下载地址:https://github.com/log4cplus/log4cplus

2. 解压安装

  • 进入所下载压缩包目录 (例如:cd ~/Desktop/log4cplus
  • 执行解压命令 gzip -cd log4cplus-1.2.x.tar.gz | tar -xf -
    成功后的截图:
  • 进入解压后的文件夹cd log4cplus-1.2.x,执行 make
    成功后的截图
  • 执行 sudo make install
    成功后的截图

    安装成功后,默认库文件路径 /usr/local/lib , 头文件路径 /usr/local/include

3. 配置到QT,调用动态库

在.pro文件中添加配置

LIBS += -L/usr/local/lib/lib/ -llog4cplus
INCLUDEPATH += /usr/local/include

INCLUDEPATH += 库的头文件路径
LIBS += -L PATH -lLIB,PATH是so库所在路径,LIB是库的名字(-L是库路径,-l是库名字,例如库文件是liblog4cplus.so,后面应添加-llog4cplus)

cannot open shared object file: No such file or directory解决方案:
运行报错原因分析,LIBS += -LPATH -l中添加的库路径是编译链接中使用,用于生成makefile,运行时的库路径是在环境变量中搜索,linux不会搜索当前路径,库路径加入到LD_LIBRARY_PATH变量中即可;
加载库后编译正常,但是运行报错,尝试添加环境变量,QT-左侧项目-Bulid-构建环境,点击添加,变量LD_LIBRARY_PATH,值$(LD_LIBRARY_PATH):库文件路径;

4. 写一个简单的测试文件

#include <iostream>
#include <unistd.h>#include <log4cplus/logger.h>
#include <log4cplus/fileappender.h>
#include <log4cplus/consoleappender.h>
#include <log4cplus/layout.h>
#include <log4cplus/ndc.h>
#include <log4cplus/helpers/loglog.h>
#include <log4cplus/helpers/property.h>
#include <log4cplus/loggingmacros.h>using namespace std;int main()
{log4cplus::helpers::SharedObjectPtr<log4cplus::Appender> appender(new log4cplus::ConsoleAppender());appender->setName("console appender test");std::string pattern = "%d{%m/%d/%y %H:%M:%S}  - %m [%l]%n";std::auto_ptr<log4cplus::Layout> layout(new log4cplus::PatternLayout(pattern));appender->setLayout(layout);log4cplus::Logger logger = log4cplus::Logger::getInstance("test");logger.addAppender(appender);logger.setLogLevel(log4cplus::ALL_LOG_LEVEL);LOG4CPLUS_DEBUG(logger, "This is debug log message");sleep(1);LOG4CPLUS_WARN(logger, "This is warn log message");return 0;
}

结束语
目前操作到这里,等后续测试之后继续更新。

Linux下 QT中 log4cplus 最基本配置及使用相关推荐

  1. linux配置apache文件大小,linux下apache中httpd.conf文件配置参数说明

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 linux下的apache服务器,我想大家都不陌生吧,前面我也有讲过apache服务器的配置及注意,今天57号网络技术分享平台的小编将为大家带来apach ...

  2. linux上 arm开发环境搭建,详解 LINUX下QT For ARM开发环境搭建过程

    LINUX下QT For ARM开发环境搭建过程是本文介绍的内容,不多说,先来看内容.在PC上,我们需要得到两个版本的Qt,分别是:Qt-4.5.2和QtEmbedded-4.5.2-arm.前者包括 ...

  3. linux下QT工程调用opencv、libtorch,并用cmake编译,及其遇到的一些问题的解决方法

    linux下QT工程调用opencv.libtorch,并用cmake编译: 文章目录 一.新建QT工程 二.编写CMakeLists.txt文件 三.各个文件的内容如下: 1.mainwindow. ...

  4. linux下使用source /etc/profile保存配置后,新的环境变量只能在一个终端里面有效

    博客园 首页 新随笔 联系 管理 订阅 <div class="blogStats"><!--done--> 随笔- 6  文章- 2  评论- 2 < ...

  5. qt调用linux 进程,Linux 下qt 程序打包发布(使用linuxdelpoyqt ,shell 脚本)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u014746574/article/d ...

  6. linux下启动nfs服务,linux下Samba服务和NFS服务配置的方法

    linux下Samba服务和NFS服务配置 一.Samba服务配置过程 samba的功能很简单,就是为了使linux和windows之间能够实现共享.并且利用samba搭建文件服务器,不仅比windo ...

  7. linux下面的j2sdk的安装和配置过程

    linux下面的j2sdk的安装和配置过程! 1.下载一个Linux Platform的JDK,建议下载RPM自解压格式的 (RPM in self-extracting file,j2sdk-1_4 ...

  8. [Linux]在Linux上部署Java开发环境笔记(一)-- 补充:Linux下如何手动设置IP及配置DNS服务

    在Linux上部署Java开发环境笔记(一) -- 补充:Linux下如何手动设置IP及配置DNS服务 2010/06/17 有的Linux系统会有网络设置的图形操作界面,比如"红旗Linu ...

  9. Linux下MongoDB的入门安装、配置与启动

    Linux下MongoDB的入门安装.配置与启动 mongo非关系性数据库 查询性能好,数据性不是特别重要的情况下使用 [root@test ~]# tar xf mongodb-linux-x86_ ...

最新文章

  1. 微软职位内部推荐-Senior Software Engineer II-Search
  2. 反转链表:输入一个链表的头结点,反转该链表并输出反转后的链表的头结点。...
  3. vue 组件以字符串插入_今日分享:vue3多层嵌套组件如何访问到最外层组件的数据?...
  4. Linux中3个文件查找相关命令
  5. Dorado 7 IDE下载地址
  6. Activiti工作流引擎使用
  7. Angular InjectionToken的一个具体使用例子
  8. 如何通过PHP将excel的数据导入MySQL中
  9. UVA - 202 Repeating Decimals
  10. 装箱问题(洛谷-P1049)
  11. SxSW小组成员讨论了Valley调查中的Elephant
  12. OCR技术系列实践:银行卡、身份证、门牌号、护照、车牌、印刷体汉字识别
  13. httpd glibc free() 报错解决一例
  14. 5个基于Javascript的桌面
  15. vue-router自动判断左右翻页转场动画
  16. 戴尔服务器修改分辨率,dell显示器怎么设置分辨率
  17. matlab2010 mex,怎样在Matlab2010a中使用VS2010的mex
  18. Report WebCore crash to the ErrorReportUtils at:Fri Jul 24 09:59:08 格林尼治标准时间+0800 2015
  19. 手机CPU天梯图2021年6月版
  20. Intel Me更新

热门文章

  1. centos7设置Java服务开机自启
  2. busybox v1.22.1(debian 1:1.22.0-19) built-in shell(ash)解决方案
  3. java 栈队列区别是什么意思_Java实现数据结构栈stack和队列Queue是什么?
  4. MATLAB图形的实验原理,信息隐藏实验1
  5. 从零双排java之转换流
  6. CSDN快速涨粉秘笈---涨粉速度提升30倍
  7. 目标2025:通信产业在能源变局中拥抱智能未来
  8. 腾讯成立“XR”部门押注元宇宙;iPhone14全系售价上涨;新东方5 万高薪聘请双语主播 |聚观早报
  9. 读取文件时内容乱码解决方法
  10. PM撸代码之Android【绝顶高手排行榜】