log4cplus在Qt linux中的应用与问题解决

log4cplus在Qt linux中的应用与问题解决

  • 背景
  • log4cplus下载
  • 遇到问题:libm.so.6:undefined reference to `__strtof128_nan@GLIBC_PRIVATE‘
  • 解决方案
  • 编译生成
  • 在Qt工程里面添加对应依赖
  • 编译运行成功

背景

最近工作中需要用到log4cplus的日志做一些记录,用了大家现成的动态库链接一直有问题,一直提示找不到一定,密密麻麻好几百的错误,看了头大,于是乎自己准备搞下log4cplus的编译。

log4cplus下载

教程很懂,网上搜一下就有资源,在ubuntu中解压,分别执行:

./configure
make
make install

有可能出现make install创建目录失败,改为下面命令即可:

sudo make install

遇到问题:libm.so.6:undefined reference to `__strtof128_nan@GLIBC_PRIVATE‘

不出意外的话就会遇到各种各样的问题,果然还是被我遇见了:libm.so.6:undefined reference to `__strtof128_nan@GLIBC_PRIVATE’
在这里插入图片描述

解决方案

根据网上搜索查询到的信息,就是因为libm.so.6与libc.so.6对应的版本不配套,可以在对应的目录下ll进行查看,看看版本是否匹配。
在我本地中,两者都是用相同的版本,所以根因在于我当前的libm.so.6不配套,需要更新一个配套的。
更换完毕后问题解决。(见附件资源)
PS:与同事请教了下,如果是采用交叉编译,这个libm.so.6还需要再改

编译生成

生成完的动态库so是放在隐藏目录下,如果没有指定目录,默认是放在当前目录.lib/下,可以同ls -a进行查看。接下来就是把它链进你对应的项目里就好啦~
在这里插入图片描述

在Qt工程里面添加对应依赖

在Qt的pro文件里面添加响应的依赖与头文件、lib文件引用,参考:

 INCLUDEPATH += $$PWD/lib/xxxxDEPENDPATH += $$PWD/lib/xxxxunix:!macx: LIBS += -L$$PWD/lib/xxxxx -llog4cplus -llog4cplusU

实例如下:
在这里插入图片描述

编译运行成功

在这里插入图片描述
问题解决~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/746615.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux——ELK日志分析系统

实验环境 虚拟机三台CentOS 7.9, 组件包 elasticsearch-5.5.0.rpm elasticsearch-head.tar.gz node-v8.2.1.tar.gz phantomjs-2.1.1-linux-x86_64.tar.bz2 logstash-5.5.1.rpm kibana-5.5.1-x86_64.rpm 初始…

Lombok原理及实例(Java) - 简化JavaBean开发

Lombok 1.作用:简化javabean开发 2.使用:a.下插件 -> 如果是idea2022不用下载了,自带b.导lombok的jar包c.修改设置 1.lombok介绍 Lombok通过增加一些“处理程序”,可以让javabean变得简洁、快速。 Lombok能以注解形式来简化java代码,提高开发效…

优选算法[1]

目录 1.双指针; 2.滑动窗口; 3.二分查找; 4.前缀和; 1.双指针; 包括对撞指针和快慢指针(一般用来循环); 题目类型:移动零,复写零,快乐数,盛…

【UE5】动画混合空间的基本用法

项目资源文末百度网盘自取 什么是动画混合空间 混合空间分为两种: 通过一个数值控制通过两个数值控制 下面通过演示让大家更直观地了解 在Character文件夹中单击右键,选择动画(Animation),选择旧有的混合空间1D 然后选择骨骼(动画是基于骨骼显示的,所以需要选择…

vue防止用户连续点击造成多次提交

中心思想:在第一次提交的结果返回前,将提交按钮禁用。 方法一:给提交按钮加上disabled属性,在请求时先把disabled属性改成true,在结果返回时改成false 方法二:添加loading遮罩层,可以直接使用e…

北京保险服务中心携手镜舟科技,助推新能源车险市场规范化

2022 年,一辆新能源汽车在泥泞的小路上不慎拖底,动力电池底壳受损,电池电量低。车主向保险公司报案,希望能够得到赔偿。然而,在定损过程中,保司发现这辆车的电池故障并非由拖底事件引起,而是由于…

EDM营销平台的核心功能?如何做精准营销?

EDM营销平台如何选择?怎么使用邮件营销平台优化发信? EDM营销平台以其独特的优势,成为了企业实现精准营销、提升品牌影响力的重要工具。那么,EDM营销平台究竟拥有哪些核心功能呢?接下来,AokSend就来一一探…

PyQt5---初识PyQt5相关及开发实战介绍

什么是GUI GUI是Graphical User Interface(图形用户界面)的缩写,是一种用户与计算机交互的方式,通过使用图形化的元素(如按钮、窗口、菜单等)来帮助用户完成任务。GUI使得用户可以通过鼠标、键盘等输入设备…

【C语言】整数存储、大小端概念

文章目录 整数存储大小端 整数存储 在计算机中,整数都是通过二进制保存的,不论是十六进制还是八进制还是十进制 整数的2进制表⽰⽅法有三种,即原码、反码和补码 对于整形来说:数据存放内存中其实存放的是补码 在计算机系统中&…

LinuxU盘挂载原理,为什么要用到U盘挂载及实现U盘挂载

目录 一、U盘挂载原理 二、为什么要用到U盘挂载 三、实现U盘挂载 一、准备工作 1、安装gcc 2、下载ntfs-3g 3、解压 4、编译准备 5、编译并安装 二、挂载演示 一、U盘挂载原理 Linux的U盘挂载原理涉及以下几个方面: 设备识别:当您将U盘插入Lin…

DVWA 靶场搭建

文章目录 环境说明1 DVWA 简介2 DVWA 安装 环境说明 操作系统:Windows 10PHPStudy 版本: 8.1.1.3Apache 版本:2.4.39MySQL 版本 5.7.26 1 DVWA 简介 DVWA(Damn Vulnerable Web App)是一个基于 “PHP MySQL” 搭建的Web应用程序&…

Linux多进程中wait()函数学习

wait()函数是Linux/Unix系统里的一个系统级函数&#xff0c;在C语言中通过#include <sys/wait.h>包含该系统调用的头文件。 想要查看如何使用这个函数&#xff0c;可以在终端中输入&#xff1a; man 2 wait如下图&#xff1a; wait系统调用可以让父线程阻塞等待子线程的…

DM数据库安装及使用(Windows、Linux、docker)

Windows 先解压安装包 点击setup安装 下一步 勾选接受然后下一步 下一步 选择典型安装下一步 下一步 搜索DM数据库配置助手然后一直下一步 然后搜索DM管理工具 登录 登录成功 widows版本安装成功 Linux安装 操作系统CPU数据库CentOS7x86_64 架构dm8_20230418_x86_rh6_64 …

liunx安装达梦教程

1.首先用户在安装 DM 之前需要检查或修改操作系统的配置&#xff0c;以保证 DM 正确安装和运行。 标题及下文中提到的 Linux(Unix)&#xff0c;包括 Linux、AIX、HP-UNIX、Solaris 和 FreeBSD 操作系统。以下安装程序说明将以 Red Hat Enterprise Linux 6 for x86-64 系统为…

CSS案例-1.字体样式练习

效果 知识点 字体大小font-size 相对长度单位 说明 em 相对于当前对象内文本的字体尺寸 px 像素,最常用,推荐使用 绝对长度单位 说明 in 英寸 cm 厘米 mm 毫米 pt 点 Unicode字体 字体名称 英文名称 Unicode编码 宋体 SimSun \5B8B\4F53 新宋体 NSimSun \65B0\5B8B\4F53

mac电脑解决无法打开软件

文章目录 报错内容解决方法一方法二方法三 报错内容 macOS无法验证此App是否包含恶意软件。 解决方法一 打开系统偏好设置>安全性与隐私>通用&#xff0c;这个时候有个按钮&#xff0c;“仍然允许”点击即可。 方法二 按住Control键点按应用, 然后打开&#xff0c…

网络编程:TCP和UDP

一、通信模式 1.1 套接字socket 1.网络通信通过套接字进行数据传输 2.socket是一个函数&#xff0c;为通信创建一个端点&#xff0c;并返回该端点的文件描述符 3.套接字本身是一个文件描述符&#xff0c;对应的是一个特殊的文件&#xff0c;该文件描述符维护了两个缓冲区&a…

MySQL一些命令记录

查看数据引擎 show engines;创建数据库,并选择库 CREATE DATABASE IF NOT EXISTS test_database; USE test_database;创建表 CREATE TABLE IF NOT EXISTS test_table (id INT AUTO_INCREMENT PRIMARY KEY,field1 VARCHAR(50),field2 VARCHAR(50),field3 VARCHAR(50),field4 …

PHP中的反序列化漏洞

PHP中的反序列化漏洞 目录 PHP 中的序列化与反序列化 概述 序列化 基本类型的序列化 对象的序列化 反序列化 示例序列化与反序列化 反序列化漏洞 - PHP 中的魔术方法 - Typecho_v1.0 中的反序列化漏洞 POP链的构造思路 pop链案例 反序列化逃逸 字符串逃逸&#xff…

Linux安装使用one-api 格式访问所有的大模型

One API ✨ 通过标准的 OpenAI API 格式访问所有的大模型&#xff0c;开箱即用 ✨ [!NOTE] 本项目为开源项目&#xff0c;使用者必须在遵循 OpenAI 的使用条款以及法律法规的情况下使用&#xff0c;不得用于非法用途。 根据《生成式人工智能服务管理暂行办法》的要求&#xff…