zoukankan      html  css  js  c++  java
  • 我的航拍直升机 控制基站软件的编写历程(三)——开始读QMKGroundStation的代码

           在QMK的根目录下有很多文件,有一个COPYING文件,这个文件是合GNU的版权有关的信息,GNU GENERAL PUBLIC LICENSE。我们不用去理会它。

           在根目录下还有一些.pro文件,如debian.pro、eeepc.pro、gentoo.pro、osx.pro、suse.pro、win.pro。我们知道,QT是源码级的跨平台,这些文件都是支持不同操作系统平台的工程文件。其中win.pro是windows系统的平台工程文件。

           win.pro的代码如下:

      include( ../examples.pri )

      include(QMapControl.pri)

     

      QWT_ROOT = ../qwt-5.1.1          //这里设置了QWT的目录,系统根目录下的qwt-5.1.1文件夹,这里用的qwt的版本是5.1.1,这个版本还有很多问题,现在已经出了5.2.0了,我们决定用后者,所以这里需要修改

     

      include( $${QWT_ROOT}/qwtconfig.pri )   

     

      SUFFIX_STR = $${RELEASE_SUFFIX}                       //这个还不确定,估计是和编译有关的

     

      INCLUDEPATH += $${QWT_ROOT}/src                    //INCLUDEPATH 描述了编译该工程时编译器需要搜索的#include路径,这里的搜索路径为qwt根目录下的src文件夹

      DEPENDPATH += $${QWT_ROOT}/src                     //DEPENDPATH 描述了建立建立应用程序所依赖的其他文件所在的路径

     

      QWTLIB = qwt$${SUFFIX_STR}                             //这个是和qwt库有关的,qwt需要编译之后才有lib库,在后面的章节中介绍qwt的编译

     

      contains(CONFIG, QwtDll)                                       //接下来的几行还没有搞明白,搞明白再写吧

      {

        DEFINES += QT_DLL QWT_DLL

        QWTLIB = $${QWTLIB}$${VER_MAJ}

      }

     

      win32-msvc:LIBS += $${QWT_ROOT}/lib/$${QWTLIB}.lib              //从接下来的几行来看,本工程可能是用VS编译的

      win32-msvc.net:LIBS += $${QWT_ROOT}/lib/$${QWTLIB}.lib

      win32-msvc2005:LIBS += $${QWT_ROOT}/lib/$${QWTLIB}.lib

      win32-g++:LIBS += -L$${QWT_ROOT}/lib -l$${QWTLIB}

     

      TEMPLATE = app              //为建立应用程序创建Makefile文件                                                       

     

      OBJECTS_DIR = build/.o_win32        //描述了编译连接应用程序过程中产生的中间文件的存放位置

      UI_DIR = build/.ui        

      MOC_DIR = build/.moc

      RCC_DIR = build/.rcc

      DESTDIR = build/bin                        //定义了存放可执行文件的路径

     

      DEFINES += _TTY_WIN_ QWT_DLL QT_DLL _WIN32_

     

      include(global.pri)

    第一、二行和最后一行的include所起的作用是,将 ../examples.pri 、QMapControl.pri和global.pri文件包含到工程里。但是第一行的include( ../examples.pri ),在整个工程目录中没找到examples.pri工程,这个文件在qwt的目录中,在qwt中的examples文件夹下。所以本工程还需要qwt支持,在这里先解释win.pro中的代码,在接下的章节中再说qwt的安装于使用。QMapControl.pri和global.pri两个文件都在工程根目录下,文件中包含了一些头文件和源文件。

            QWT_ROOT = ../qwt-5.1.1  这一行指明了qwt的路径。这里用的qwt的版本是5.1.1。

            include( $${QWT_ROOT}/qwtconfig.pri )这一行包含了在qwt根目录下的qwtconfig.pri文件。

            接下来的解释直接在上面的源码后面进行吧!

    http://qwt.sourceforge.net/   QWT资源

  • 相关阅读:
    java--Compara比较字符串排序(引用类型都可以)
    java---递归遍历文件
    java 增强for循坏遍历set 集合嵌套
    java-手写实现map
    ajax请求拿到多条数据拼接显示在页面中
    ajax取到数据后如何拿到data.data中的属性值
    .NET CORE IIS 500.21
    ConfigurationErrorsException: Unrecognized configuration section system.data.
    关于ajax中return并不能作为方法的返回值
    .net core 的跨域
  • 原文地址:https://www.cnblogs.com/buffer/p/1510836.html
Copyright © 2011-2022 走看看