Ubuntu 下 Qt 编译

4 篇文章 0 订阅

首先说一下qt编程的步骤,然后再仔细说一下qmake的使用。我看书上的都是编写好cpp文件后,分别执行命令: qmake -project、qmake、make,然后执行就可以了,但是要是我在一个文件夹下有多个cpp文件,qmake怎么识别?make生成的最后执行文件的名,我怎么能随心所欲的自己定?带着疑问,找了网上的资料,不如所衣,然后尝试着gcc编译的思想竟然撞到了。

其实我感觉要要真正了解qmake的使用方法,直接在终端下输入命令:qmake -help就可以了,我也是这样做的,帮助内容如下

[plain] view plain copy
print?

Usage: qmake [mode] [options] [files]  

QMake has two modes, one mode for generating project files based on  
some heuristics, and the other for generating makefiles. Normally you  
shouldn't need to specify a mode, as makefile generation is the default  
mode for qmake, but you may use this to test qmake on an existing project  

Mode:  
  -project       Put qmake into project file generation mode  
                 In this mode qmake interprets files as files to  
                 be built,  
                 defaults to *.c; *.ui; *.y; *.l; *.ts; *.xlf; *.qrc; *.h; *.hpp; *.hh; *.hxx; *.H; *.cpp; *.cc; *.cxx; *.C  
                 Note: The created .pro file probably will   
                 need to be edited. For example add the QT variable to   
                 specify what modules are required.  
  -makefile      Put qmake into makefile generation mode (default)  
                 In this mode qmake interprets files as project files to  
                 be processed, if skipped qmake will try to find a project  
                 file in your current working directory  

Warnings Options:  
  -Wnone         Turn off all warnings; specific ones may be re-enabled by  
                 later -W options  
  -Wall          Turn on all warnings  
  -Wparser       Turn on parser warnings  
  -Wlogic        Turn on logic warnings (on by default)  
  -Wdeprecated   Turn on deprecation warnings (on by default)  

Options:  
   * You can place any variable assignment in options and it will be     *  
   * processed as if it was in [files]. These assignments will be parsed *  
   * before [files].                                                     *  
  -o file        Write output to file  
  -d             Increase debug level  
  -t templ       Overrides TEMPLATE as templ  
  -tp prefix     Overrides TEMPLATE so that prefix is prefixed into the value  
  -help          This help  
  -v             Version information  
  -after         All variable assignments after this will be  
                 parsed after [files]  
  -norecursive   Don't do a recursive search  
  -recursive     Do a recursive search  
  -set <prop> <value> Set persistent property  
  -unset <prop>  Unset persistent property  
  -query <prop>  Query persistent property. Show all if <prop> is empty.  
  -cache file    Use file as cache           [makefile mode only]  
  -spec spec     Use spec as QMAKESPEC       [makefile mode only]  
  -nocache       Don't use a cache file      [makefile mode only]  
  -nodepend      Don't generate dependencies [makefile mode only]  
  -nomoc         Don't generate moc targets  [makefile mode only]  
  -nopwd         Don't look for files in pwd [project mode only]  
song@ubuntu:~/lianxi/qt$ clear  

song@ubuntu:~/lianxi/qt$ qmake -help  
Usage: qmake [mode] [options] [files]  

QMake has two modes, one mode for generating project files based on  
some heuristics, and the other for generating makefiles. Normally you  
shouldn't need to specify a mode, as makefile generation is the default  
mode for qmake, but you may use this to test qmake on an existing project  

Mode:  
  -project       Put qmake into project file generation mode  
                 In this mode qmake interprets files as files to  
                 be built,  
                 defaults to *.c; *.ui; *.y; *.l; *.ts; *.xlf; *.qrc; *.h; *.hpp; *.hh; *.hxx; *.H; *.cpp; *.cc; *.cxx; *.C  
                 Note: The created .pro file probably will   
                 need to be edited. For example add the QT variable to   
                 specify what modules are required.  
  -makefile      Put qmake into makefile generation mode (default)  
                 In this mode qmake interprets files as project files to  
                 be processed, if skipped qmake will try to find a project  
                 file in your current working directory  

Warnings Options:  
  -Wnone         Turn off all warnings; specific ones may be re-enabled by  
                 later -W options  
  -Wall          Turn on all warnings  
  -Wparser       Turn on parser warnings  
  -Wlogic        Turn on logic warnings (on by default)  
  -Wdeprecated   Turn on deprecation warnings (on by default)  

Options:  
   * You can place any variable assignment in options and it will be     *  
   * processed as if it was in [files]. These assignments will be parsed *  
   * before [files].                                                     *  
  -o file        Write output to file  
  -d             Increase debug level  
  -t templ       Overrides TEMPLATE as templ  
  -tp prefix     Overrides TEMPLATE so that prefix is prefixed into the value  
  -help          This help  
  -v             Version information  
  -after         All variable assignments after this will be  
                 parsed after [files]  
  -norecursive   Don't do a recursive search  
  -recursive     Do a recursive search  
  -set <prop> <value> Set persistent property  
  -unset <prop>  Unset persistent property  
  -query <prop>  Query persistent property. Show all if <prop> is empty.  
  -cache file    Use file as cache           [makefile mode only]  
  -spec spec     Use spec as QMAKESPEC       [makefile mode only]  
  -nocache       Don't use a cache file      [makefile mode only]  
  -nodepend      Don't generate dependencies [makefile mode only]  
  -nomoc         Don't generate moc targets  [makefile mode only]  
  -nopwd         Don't look for files in pwd [project mode only]  

qmake命令格式

qmake [mode] [options] [files]

mode选项

-project 生成.pro文件

-makefile 生成Makefile文件

options选项(这里介绍几个常用的,其它的自己去翻译上面,其实我也是刚学,用到的时候再学习哈)

-o file 输出文件名,比如qmake -project hello.cpp -o hello.pro,就会生成一个hello.pro文件,如果是qmake -project hello.cpp -o hello11.pro,就会生成一个hello11.pro文件

实验1

1、编写代码,命名为hello.cpp,如下

这里写图片描述

    #include<qapplication.h>  
    #include<qpushbutton.h>  

    int main(int argc,char *argv[])  
    {  
        QApplication a(argc,argv);  
        QPushButton hellobtn("Hello World!",0);  
        hellobtn.resize(200,50);  
        hellobtn.show();  
        return a.exec();  
    }  

2、qmake -project (用于创建.pro文件,将所有的文件编译成一个与平台无关的工程文件)
这里写图片描述

可见默认生成的文件名为 qt.pro

3、qmake (读取本身的Qt设置,生成与库一致的相应的Makefile)

这里写图片描述

4、make (根据生成的Makefile,将文件编译为二进制可执行程序)
这里写图片描述

可见生成了qt可执行程序

5、执行命令:./qt

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值