Qt, qmake


refers to: http://qt-project.org/doc/qt-4.8/qmake-tutorial.html

qmake是Qt的编译工具,可以针对不同的平台和不同的语言。qmake基本一个项目文件(.pro)生成Makefile。
qmake自动包含moc和uic工具。
moc:Meta-Object Compiler是一个工具,用来处理Qt中的C++扩展部分。Qt的类会包含Q_OBJECT宏来支持信号槽,运行时类型信息和动态属性等机制。moc会读取头文件,如果有qt的类,则会把对应的Q_OBJECT实现放在cpp文件中,这就qt程序编译会产生moc_开头的文件。
uic: User Interface Compiler会基于UI定义文件(.ui)产生c++头文件。.ui文件是以XML格式存放的。Qt提供一个工具可以可视化创建界面和.ui文件,这就是Qt Designer.

qmake tutorial
设定有三个文件 hello.cpp hello.h main.cpp,
首先要创建项目文件.pro,以文本的形式编辑,指定源文件
 SOURCES = main.cpp \
    hello.cpp
 或者用+=
  SOURCES = main.cpp
  SOURCES += hello.cpp
指定头文件HEADERS和SOURCES一样处理
 HEADERS += hello.h
目标名会自动和项目文件名一样。如果项目文件是abc.pro,那目标名就是abc.exe。也可以指定
 TARGET = abc

CONFIG变量一定要指定,这个变量指定了项目配置和编译选项。
 CONFIG += qt
 说明目标文件是一个Qt的应用程序,需要加载Qt的库和头文件. 具体参数(http://qt-project.org/doc/qt-4.8/qmake-variable-reference.html#config)
 
完整的项目文件
  CONFIG += qt
  HEADERS += hello.h
  SOURCES += hello.cpp
  SOURCES += main.cpp

用qmake -o Makefile hello.pro生成Makefile
也可以用下面的,生成Visual Studio的项目文件
qmake -tp vc hello.pro

增加平台相关文件
win32 {
 SOURCE += win32specific.cpp
 }
unix{
 SOURCE += unixspecific.cpp
 }
 
注意:{的位置,不能另起一行。

 

我是直接从源码包开始编译的,然后没有安装。直接用在cmd里,是找不到qmake的。所以要手动指定路径。
然后执行qmake -o Makefile hello.pro时,会出现QMAKESPEC has not been set的错误。可以在当前cmd里设置一下这个环境变量
QMAKESPEC=C:\Qt\4.8.4\mkspecs\win32-msvc2012

我看文档中有说可以在项目文件里设置,但我没有找到具体位置,也没尝试成功。可能会有其它的办法。但我用的就是这个
方法。

刚刚试出一个,在qmake命令参数中指定绝对路径(那相对路径呢?)
qmake -o Makefile -spec C:\Qt\4.8.4\mkspecs\win32-msvc2012 hello.pro

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值