- 博客(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 992
原创 css关于relative和absolute的区别
TRBL属性设定的是组件相对于浏览器或父组件的位置,而不是其相对于边界要偏移的距离,如right:1%设定后,组件的位置就到了浏览器或父组件最右边了,只是离右边界有1%的距离。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性(TRBL)设定的位置是在初始位置的基础上移动。,如right:1%设定后,元素会向左移动1%,即相对于父组件的右边界偏移1%的距离,父组件设定的padding有效。与relative的区别是其在正常流中的位置不再存在,
2024-03-05 11:41:09 500
原创 cmake自动判断硬件构架执行不同逻辑
其次也可以自己手动传入硬件构架,但是这样就不是自己判断了。除此之外,cmake里面还有个变量CMAKE_HOST_SYSTEM_PROCESSOR,这个变量值就是硬件构架。所以有一种方法是cmake就是利用这个shell指令自己判断。
2024-03-04 17:38:17 301
原创 ffmpeg将fdk-aac编译进库中
这里面需要利用--extra-cflags、 --extra-cxxflags、--extra-ldflags这些参数。
2023-10-07 15:57:20 277
原创 libsrtp2在火狐浏览器配合webrtc初始化异常问题解决
libsrtp2库是写webrtc-gw时常使用的库,用于srtp协议和srtcp协议的加密与解密,但是当在火狐浏览器上测试时,发现调用srtp_create函数会直接失败。这是因为之前编译的libsrtp2库采用的是默认编译选择,有些加解密方式是不支持的,而火狐浏览器dtls协商完成后,使用的是AES_128_GCM这种加解密方式,默认的编译选项不支持。上面的编译选项是使用openssl进行加解密,这样那些加解密方式都支持了。
2023-08-04 22:51:25 216
原创 Qt pro文件链接动态库和静态库的写法
这种写法与链接动态库的写法是一模一样的。以linux系统为例,这种写法会自动寻找对应目录下libstaticLibTest.so或libstaticLibTest.a文件,但是若对应的目录下.so文件和.a文件同时存在,那么.so文件优先。这种写法就是显式指定.a文件,某些情况下,我更倾向于这种写法。(1)静态库链接的第1种写法。(2)静态库链接的第2种写法。
2023-08-04 18:02:17 1745
原创 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 1899
原创 cmake去掉特定的源文件
这样就排除了webrtc_test.h、webrtc_test.cpp 、src/webrtc_开头的文件已经src/webrtc/目录里面的全部文件。
2023-08-02 14:54:36 2126
原创 高版本谷歌浏览器对内网IP跨域的限制
需要注意的是,启用该特性后,如果您的网站使用了非安全的连接(如HTTP)来发送到私有网络的请求,则这些请求将被阻止,可能会导致您的网站的部分功能无法正常使用。在一次测试中,采用http部署网页,服务器采用内网ip,即使我服务端在http头部加了跨域相关的设置,如下所示,但是浏览器依然报跨域错误。"block-insecure-private-network-requests"是Chrome浏览器的一项安全特性,旨在阻止通过非安全连接(如HTTP)发送到私有网络的请求,以提高用户的安全性和隐私保护。
2023-04-21 18:04:30 1653
原创 Qt pro文件通过外部传参实现条件编译
由于在CONFIG参数里面添加了arm64参数,所以会打印出“build platform is arm64”先总结下常用的qmake条件编译的各种方式,然后再给出外部传参控制逻辑的方式。这样运行结果就是打印出“build platform is mips64”了。注意,上面所有的代码,条件和大括号“{”最好都在同一行。其他的条件编译方式同样可以按照外部这种方式改变运行逻辑。contains和{必须在同一行,否则报错。
2022-10-14 17:23:26 792
原创 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 9122
原创 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 1460
原创 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 24815 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 663
原创 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 283
原创 cmake复制目录下的所有文件
file(GLOB allCopyFiles "${NSF_HOME}/lib/*")file(COPY ${allCopyFiles} DESTINATION ${LIB})
2021-08-16 14:18:19 6175 2
原创 程序中I/O操作优化的方向
1、单线程操作I/O。可以单独开辟一个线程专门用于操作I/O,大部分情况下,采用多线程可以提升效率,但I/O操作除外,反而可能会降低效率,为什么呢?大家想想,磁盘对数据的读写是需要磁头的转动的,假设线程1正在读取文件1,...
2021-07-29 20:11:28 180
原创 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 316
原创 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 1846
原创 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 7196 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 6993
原创 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 5516 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 795 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 2370
原创 关于Qt乱码的解释和解决方案
关于Qt的乱码问题,以下是个人见解,可能有错误之处,欢迎指出。要弄清楚Qt中的乱码问题,首先需要清除2个概念:源码字符集(the source character set):源码文件是使用何种编码保存的 执行字符集(the execution character set):可执行程序内保存的是何种编码(程序执行时内存中字符串编码)Qt为了保证跨平台,源码字符集统一采用的是带 BOM 的...
2020-03-26 17:36:21 1395
原创 QCustomPlot类编写动态折线图,可坐标平移
QCustomPlot类编写动态折线图,可坐标平移看本博文前,请先弄清楚QCustomPlot的配置及使用方法,具体请参考网页:http://www.myexception.cn/program/1912498.html,本篇博文使用的是第一种方法,也就是提升法。QCustomPlot类的源码库下载地址为:http://download.csdn.net/detail/a2886015
2016-11-30 09:42:25 5738 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 1147
web前端textarea的value有初始内容时,怎么实现文本域自适应
2019-01-18
HL-340串口转USB驱动时显示未知USB设备(设备描述符请求失败)
2017-04-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人