mingw编译环境搭建 前言  Qt在windows上使用有两种编译器模式,msvc和mingw,由于我的项目主要是跨平台项目,所以我一般采用mingw版本Qt,并且这种模式发布程序的时候在windows端不需要附带vc运行库,非常方便。但是有一个坏处就是,主流常用的第三方库大多数都是自带vs的项目文件,编译非常方便,而且vcpkg可以一键编译安装各种第三方库(最近有了mingw版)。 2020-05-06 学习笔记 #mingw
QProcess调用外部进程 前言  在Qt程序开发过程中,往往我们会调用一些外部的程序,实现特定的功能,并减少开发工作量。例如有一个项目需要使用Https接口下载一些文件和上传下载一些数据,Qt本身虽然封装了OpenSSL的接口,但是安装包中SDK并不带编译完成的OpenSSL的库文件,需要用户自己手动编译对应版本的OpenSSL(Qt对应的OpenSSL版本号可以调用QSslSocket 2020-05-06 Qt学习笔记 #QProcess
dpkg从源码打包 前言  在刚接触Linux软件开发时,在软件开发完成之后都面临一个问题,那就是如何发布?开始我才用最原始的方法,使用压缩包。但是这种模式就很局限,毕竟很难把所有的库依赖都找全。后来使用dpkg打包,这样就跟安装包一样,能够自定义安装的位置,并且检查库依赖是否齐全。下面开始介绍步骤。 1、创建一个简单项目  新建一个简单项目, 2020-05-01 Linux学习笔记 #dpkg #debian
对汉字按照拼音排序 汉字排序对于英文单词排序很常见,但是对于汉字单词如何排序,可以借助于std的标准库,代码如下: 123456789101112131415161718192021#include <iostream>#include <cstring>#include <locale>#include <algorithm>#include <array> 2019-09-05 C++标准库 #汉字拼音排序
Qt5.13.0搭建安卓开发环境 准备材料 新版NDK,我选用的版本是r-20,目前是最新的。 新版Android SDK,我选用的25.2.5。 Java SDK最好采用1.8.0,实测10版本和12版本识别不了。 Qt5.13.0,Qt编译版本选择安装armv7和armv8以及Android x86_64。Qt的组件除了源码都装上,tool也都装上。 选择安装x86—64版本是为了在Windows上运行Androi 2019-08-05 Qt学习笔记 #Qt #Android
Windows编译QtMqtt-5.12.1 前言mqtt协议主要是用于物联网,机器对机器,网络开销要求小的环境。原理是一个publisher(发布者)发布一个topic(主题),然后发送payload(有效负载,即消息内容),然后经过一个中间broker(服务器),另外一个subscriber(订阅者)订阅这个主题,然后发送者发送的消息,这个订阅者就可以接收到了。当然前提是这两个都需要先连接服务器,所以这两个可以理解为都是客户端,只是角色不 2019-08-01 Qt学习笔记 #QtMqtt编译
QCoreApplication::quit()无法退出程序解决方法 前言使用Qt一般是做带界面的桌面软件,然而我在使用Qt写后台服务程序的时候遇到一个问题,程序调用QCoreApplication::quit()无法正常退出程序,程序一直出于挂起状态。以下是我的错误代码: 12345678910111213141516171819202122232425262728293031323334353637383940//.h#include <QObject&g 2019-07-23 Qt学习笔记 #QCoreApplication
cmake编译OsgEarth2.10.1-VS2017-64版 前言为了搭建这个osg加osgearth的开发环境,前前后后折腾了好久,中途用vcpkg自动编译了一个版本,但是实践证明osg没问题,但是osgearth有bug,应该是编译的依赖库的问题。所以只能自己手动编译,编译osgearth的前提是编译好osg和它的第三方依赖库。osg官网已经提供了各个版本的编译好的sdk,所以就省了这一个环节(osg本身的编译时间太长)。因为我要编译的是vs2017-6 2019-06-17 #cmake #osgearth #osg
cpp的深拷贝和浅拷贝 默认拷贝构造代码如下: 123456789101112131415161718192021222324252627class Test{public: Test(int k,int v):key(k),value(v) { } void show() { std::cout<<key<<&q 2019-06-12 cpp基础 #cpp #深拷贝和浅拷贝
OSG环境配置 前言最近开始学习osg,免不了涉及到编译osg的开源库,如果不想编译的话可以直接去官网下载编译好的msvc版本。但是osgearth暂时没有找到直接编译好的。对于Windows编译开源库最近的心得是不要使用mingw进行编译,很多开源库都无法编译过去,还是使用msvc编译。编译开源库,发现一款微软的神器vcpkg,相当于是windows上的包管理器,他会自动下载源码然后进行编译,默认使用vs201 2019-06-04 学习笔记 #OSG,OsgEarth #vcpkg