我的航拍直升机 控制基站软件的编写历程(三)——开始读QMK-GroundStation的代码...

本文解析了QMK项目中win.pro文件的内容,详细介绍了针对Windows平台的编译配置细节,包括QWT库的路径设置、编译参数及依赖项等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       在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资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值