自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 关于qt缺少xcb问题解决办法

1、报这个问题的原因很多,每个人可能都不一样,首先我们需要设置环境变量export QT_DEBUG_PLUGINS=1,然后再次运行./qtcreator,这个时候才可以看到真正的原因。linux下qt安装完成后,有时候会出现无法打开QtCreator的问题,这个时候进入QtCreator的安装目录,进入终端,用指令启动。2、看了下,是由于我系统里面自带的是libxcb-util.so.0这个库,版本不够,需要安装另一个高版本的,运行指令。

2024-05-30 18:05:13 585

原创 css关于relative和absolute的区别

TRBL属性设定的是组件相对于浏览器或父组件的位置,而不是其相对于边界要偏移的距离,如right:1%设定后,组件的位置就到了浏览器或父组件最右边了,只是离右边界有1%的距离。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性(TRBL)设定的位置是在初始位置的基础上移动。,如right:1%设定后,元素会向左移动1%,即相对于父组件的右边界偏移1%的距离,父组件设定的padding有效。与relative的区别是其在正常流中的位置不再存在,

2024-03-05 11:41:09 451

原创 cmake自动判断硬件构架执行不同逻辑

其次也可以自己手动传入硬件构架,但是这样就不是自己判断了。除此之外,cmake里面还有个变量CMAKE_HOST_SYSTEM_PROCESSOR,这个变量值就是硬件构架。所以有一种方法是cmake就是利用这个shell指令自己判断。

2024-03-04 17:38:17 237

原创 ffmpeg将fdk-aac编译进库中

这里面需要利用--extra-cflags、 --extra-cxxflags、--extra-ldflags这些参数。

2023-10-07 15:57:20 200

原创 libsrtp2在火狐浏览器配合webrtc初始化异常问题解决

libsrtp2库是写webrtc-gw时常使用的库,用于srtp协议和srtcp协议的加密与解密,但是当在火狐浏览器上测试时,发现调用srtp_create函数会直接失败。这是因为之前编译的libsrtp2库采用的是默认编译选择,有些加解密方式是不支持的,而火狐浏览器dtls协商完成后,使用的是AES_128_GCM这种加解密方式,默认的编译选项不支持。上面的编译选项是使用openssl进行加解密,这样那些加解密方式都支持了。

2023-08-04 22:51:25 199

原创 Qt pro文件链接动态库和静态库的写法

这种写法与链接动态库的写法是一模一样的。以linux系统为例,这种写法会自动寻找对应目录下libstaticLibTest.so或libstaticLibTest.a文件,但是若对应的目录下.so文件和.a文件同时存在,那么.so文件优先。这种写法就是显式指定.a文件,某些情况下,我更倾向于这种写法。(1)静态库链接的第1种写法。(2)静态库链接的第2种写法。

2023-08-04 18:02:17 1506

原创 cmake链接动态库和静态库的写法

和链接动态库的写法是一模一样的。以linux系统下为例子,target_link_libraries里面链接的库,实际上会自动查找libsrtp2.so或libsrtp2.a 文件,但是若.so文件和.a文件在指定同时存在,那么.so文件优先,但是若明确指定为libsrtp2.a ,那么便链接的是静态库。这种方法是采用link_libraries指令链接静态库,link_libraries必须在add_executable指令之前调用,link_libraries是比较古老的指令了,不推荐这种写法。

2023-08-04 17:50:23 1627

原创 cmake去掉特定的源文件

这样就排除了webrtc_test.h、webrtc_test.cpp 、src/webrtc_开头的文件已经src/webrtc/目录里面的全部文件。

2023-08-02 14:54:36 1766

原创 高版本谷歌浏览器对内网IP跨域的限制

需要注意的是,启用该特性后,如果您的网站使用了非安全的连接(如HTTP)来发送到私有网络的请求,则这些请求将被阻止,可能会导致您的网站的部分功能无法正常使用。在一次测试中,采用http部署网页,服务器采用内网ip,即使我服务端在http头部加了跨域相关的设置,如下所示,但是浏览器依然报跨域错误。"block-insecure-private-network-requests"是Chrome浏览器的一项安全特性,旨在阻止通过非安全连接(如HTTP)发送到私有网络的请求,以提高用户的安全性和隐私保护。

2023-04-21 18:04:30 1562

原创 Qt pro文件定义宏的方式

DEFINES += ASAN类似于c语言中的:#defineASAN

2022-10-14 17:45:32 2527

原创 Qt pro文件通过外部传参实现条件编译

由于在CONFIG参数里面添加了arm64参数,所以会打印出“build platform is arm64”先总结下常用的qmake条件编译的各种方式,然后再给出外部传参控制逻辑的方式。这样运行结果就是打印出“build platform is mips64”了。注意,上面所有的代码,条件和大括号“{”最好都在同一行。其他的条件编译方式同样可以按照外部这种方式改变运行逻辑。contains和{必须在同一行,否则报错。

2022-10-14 17:23:26 764

原创 CMake获取目录下所有源文件

aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} ALL_SOURCE) , 这样将当前目录所有的源文件(.cpp 和.c文件)都放到了ALL_SOURCE变量中,但是头文件并没有被包括进去,若在头文件有函数的实现部分,采用这种方式就容易出问题,所有我很少使用这种方式。这样就将当前目录所有的源文件都放在了ALL_SOURCE变量中,所有的头文件放在了ALL_HEAD中。1、aux_source_directory指令。2、file指令,我通常使用这种方式。

2022-09-13 12:08:52 8693

原创 开源C++ http服务框架WHttpServer

c++ http服务框架

2022-04-17 16:37:28 4804

原创 C++开源线程池WThreadPool

gitee地址:WThreadPool: 基于C++语言编写的线程池介绍基于C++语言编写的线程池,采用了无锁队列,性能更强,有管理线程,在任务繁忙时会增加线程,在任务少时会减少线程以节省资源.该工程是跨平台的软件架构软件架构说明安装教程直接使用源码中LockQueue.hpp、WThreadPool.h、WThreadPool.cpp文件集成到自己的工程即可使用说明1、void setMaxThreadNum(int maxNum),设置最大线程数2、bool wait

2022-01-28 16:46:31 1434

原创 CMake定义宏的方式

1、采用add_definitions定义宏,但是这种定义方式无法给宏具体值,比如: add_definitions(-DMG_ENABLE_OPENSSL)对应于C语言中的 #define MG_ENABLE_OPENSSL2、add_compile_definitions定义宏,这种方式可以给宏具体值,但是这个指令只要高版本的cmake支持,比如: add_compile_definitions(MG_ENABLE_OPENSSL=1)对应于C语言...

2021-09-16 14:45:55 24163 3

原创 低版本openssl编译动态库的记录

1、./config shared --prefix=/usr/local/openssl查看生成的makefile文件,看里面的CFLAG 中是否有选项-fPIC,若没有,则自己增加-fPIC2、make -j43、sudo make install低版本的openssl默认是不生成so文件的,所以需要加shared我选择的1.0版本的openssl编译,之前在./config上件-fPIC没有用,依然会报recompile with -fPIC的错误,后来将文件夹删除后,重新解压

2021-09-07 14:25:53 608

原创 openssl生成私有证书

1、opensslreq-x509 -days 3650 -newkey rsa:1024 -nodes -keyout server.key -out server.cert2、openssl x509 -in server.cert -out server.pem -outform PEM第1步会生成server.key和server.cert(后缀名若是.crt也是可以的)两个文件,有些程序只需要这2个文件就足够了,但是有些程序使用的是pem文件,而不是cert文件,比如nodejs,所...

2021-09-01 16:27:38 266

原创 cmake复制目录下的所有文件

file(GLOB allCopyFiles "${NSF_HOME}/lib/*")file(COPY ${allCopyFiles} DESTINATION ${LIB})

2021-08-16 14:18:19 5989 2

原创 程序中I/O操作优化的方向

1、单线程操作I/O。可以单独开辟一个线程专门用于操作I/O,大部分情况下,采用多线程可以提升效率,但I/O操作除外,反而可能会降低效率,为什么呢?大家想想,磁盘对数据的读写是需要磁头的转动的,假设线程1正在读取文件1,...

2021-07-29 20:11:28 170

原创 git怎么将2次commit合成1次

git rebase -i HEAD~2,这一步会进入一个编辑页,如下图所示,可以将不要的提交log变成前面变成f,具体的意思图中下面有解释,下图那种情况就只有第一条log会保留 git push origin -f 239-fix-roster-json:239-fix-roster-json,合并成功...

2021-04-08 14:29:54 297

原创 vue2.x路由传参方法总结

1、采用<router-link> 标签中的to传参传递的页面<router-link :to="{'name':'addClue', params: {'type': 1}}"></router-link>router.js中path: 'addClue/:type',name: 'addClue',component: addClue其中path是否可以不加上:type有待商量获取参数的页面:This.$...

2021-03-10 11:53:44 1821

原创 CMake通过外部传参执行不同逻辑的2种方案

有时候一些场景需要在执行cmake指令时传入一些参数的值,使得CMakeLists.txt文件中的程序执行不同的逻辑,下面给出2种方案。1、SET指令给参数默认值 默认情况下会执行else,打印“this is x86 platform”,但可以更改,比如运行cmake指令时如下: cmake . -DBUILD_PLATFORM=arm 那么打印出来的是“this is arm platform”。2、OPTION指令开关 默认情况下会...

2021-02-19 16:41:05 6770 1

原创 libreoffice的启动、测试和问题记录

前提:libreoffice已经安装好,libreoffice指令可用。以我的服务器为例,由于libreoffice指令软链接到/usr/lib/libreoffice/program/soffice,所以下面凡是用libreoffice指令的地方,你用/usr/lib/libreoffice/program/soffice代替自然是一样的效果。1、libreoffice服务的启动启动指令是libreoffice --headless --accept="socket,host=0.0.0.

2021-01-18 15:28:05 6658

原创 uos/deepin下利用deb包配置本地apt源

uos操作系统下,平时用apt指令安装的包,其对应的deb包文件会存储在/var/cache/apt/archive中,采用apt指令也可以只下载包,不安装,利用这些deb文件,我们可以制作自己的apt源,供那些无法连接外网的机器使用。下面以libreoffice包为例,制作对应的apt源:1、下载libreoffice相关的所有deb包,最后找一台完全没有安装过libreoffice的机器下载,这样就会将所有依赖一起下载下来,否则apt检测到本地已经安装了对应依赖,是不会下载的。指令如下:.

2021-01-15 10:14:12 5346 3

原创 deepin20或uos系统配置Qt4的环境

一般linux下配置Qt4.8.7的环境是下载下源码,然后configure、make、make install安装,但是deepin20或uos(下面只说deepin20,两个系统情况是一样的)使用的gcc版本是8.3,这种高版本的gcc情况下,按上面的办法直接编译Qt4.8.7的源码是编译不通的。通过联系了uos的工程师,得到了另一种安装办法。1、修改/etc/apt/sources.list源文件deepin20原/etc/apt/sources.list的原内容如下图1所示,只有一行d.

2020-11-06 14:57:21 775 1

原创 Qt信号与槽的实现原理

本文档中出现的代码不一定是Qt的原生代码,可能是根据原来思维写的类似伪代码,如会将Qt原生的slots、signals关键字换成db_signals和db_slots,以表示这是伪代码,而不是Qt原生的代码,只用于表述信号槽的原理。首先对象内部会议2个char*型的字符串,专门记录类中定义的信号与槽,如:class Object{public:Object();virtual ~Object();db_signals: void sig1();...

2020-06-04 10:51:34 2348

原创 关于Qt乱码的解释和解决方案

关于Qt的乱码问题,以下是个人见解,可能有错误之处,欢迎指出。要弄清楚Qt中的乱码问题,首先需要清除2个概念:源码字符集(the source character set):源码文件是使用何种编码保存的 执行字符集(the execution character set):可执行程序内保存的是何种编码(程序执行时内存中字符串编码)Qt为了保证跨平台,源码字符集统一采用的是带 BOM 的...

2020-03-26 17:36:21 1359

原创 QCustomPlot类编写动态折线图,可坐标平移

QCustomPlot类编写动态折线图,可坐标平移看本博文前,请先弄清楚QCustomPlot的配置及使用方法,具体请参考网页:http://www.myexception.cn/program/1912498.html,本篇博文使用的是第一种方法,也就是提升法。QCustomPlot类的源码库下载地址为:http://download.csdn.net/detail/a2886015

2016-11-30 09:42:25 5690 2

原创 Qt中QWT快速配置

本教程配置环境为Qt4.8.5+Qt Creater2.8.0+minGW4.4.0+win10 32位系统,使用本教程之前需要将Qt Creater运行的环境都已经配置完全,可以参照网页http://www.wfuyu.com/Internet/17377.html本教程需要的资源是“qwt-6.1.0已编译.zip“。下载页面为http://download.csdn.net/de

2016-08-24 15:51:44 1131

QCustomPlot类

QCustomPlot源码库

2016-11-30

qwt-6.1.0已编译.zip

只留下了安装qwt-6.1.0的必要文件,没有qwt例程了。

2016-08-24

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除