qgroundcontrol

从源码编译QGroundControl

社会主义新天地 提交于 2019-12-02 00:22:59
首先需要QT的编译环境 ,你可以直接安装好你编译器相匹配的环境包,也可以从源码开始编译QT。QGroundControl好像还不支持QT5,因此需要下载QT4包。这里我从源码开始编译QT 4.8.5,QT4.8.2或之前的版本类似,我从4.8.0的版本都编译过,没有任何问题,只是注意QT需要编译QTwebkit,我使用的环境是win32-msvc2010. 编译QT之前有几处源码的编译的问题必须解决: 1)、qt的安装路径,以及以后使用vs建立qt项目的时候,不能有中文,路径中也不能有空格. 2)、删除源码包中bin目录下的syncqt和syncqt.dat文件,如你不放心可将其改名或剪切到别的位置。如不修改将发生 Perl not found in environment - cannot run syncqt 错误。 3)、一定要修改\mkspecs\win32-msvc2010下的qmake.conf文件,将其中的"QMAKE_CFLAGS=-nologo -Zm200 -Zc:wchar_t-"改成"QMAKE_CFLAGS=-nologo -Zm200 -Zc:wchar_t" 注意末尾的”-“号区别。如不修改将来如有项目使用wchar_t,qt却编译成wchar_t-,编译会导致连接错误,提示找不到Qwstring; 4)、关于是否需要修改\mkspecs\win32

QGroundControl Source Code Learning Series - 2

回眸只為那壹抹淺笑 提交于 2019-12-01 12:39:57
QGroundControl Source Code Learning Series - 2 AppMessages AppMessages 类主要用来处理程序运行过程中的消息及日志记录。 在使用 Qt 进行开发时,难以避免会使用 QDebug (QInfo | QWarning | QCritical) 等以及相应的宏(qDebug 等)来输出变量的值或特定消息。一般使用 QtCreator 开发 Qt 程序时,qDebug 会将调试信息输出到 QtCreator 的控制台中,我们在开发时用起来非常方便。但是一般将程序发布后,往往看不到输出的信息了,因此我们需要将输出信息重定向到将界面或者文件中以便查看。毫无疑问,AppMessages 就是实现这样的功能的。 AppMessages 对外的接口只有两个,并且这两个方法都是静态的方法: class AppMessages { public: static void installHandler(); static AppLogModel* getModel(); }; 在我看来,AppMessage 这个类更多的是充当一个 namespace 的功能。 installHandler 方法中会调用 Qt 提供的 qInstallMessageHandler 注册自定义的消息处理器。而 getModel 方法则提供了外部访问