1、无pro文件的情况下:
该情况下,一般是纯代码编写程序,写好程序后,需要生成pro文件后,才能编译。
生成pro文件的方法:
$ qmake -project
注: 生成pro文件后,需要手动在pro文件的最后添加一行代码:
greaterThan(QT_MAJOR_VERSION, 4):QT +=widgets
2、有pro文件的情况下:
该情况下,是已经根据代码((纯命令行程序或带图形化界面程序))生成pro文件,使用Qtcreator可正常编译,但想通过shell脚本替代Qtcreator进行自动化编译。
注:为了避免在项目目录下,使用qmake和make会使得所有编译出来的文件全部堆在项目目录下,需要给qmake和make加一点参数,指定它们的输出路径。
命令如下:
$qmake [pro_path] -o tmp_path
$make --directory=tmp_path
注:执行完qmake命令后,会根据pro文件,在tmp_path下生成Makefile文件。
如:
(1)源代码目录为~/hellowrod/,含pro文件。
(2)编译的临时目录为~/tmp_path/
$qmake ~/hellowrod/helloworld.pro -o ~/tmp_path/
$make --directory=~/tmp_path/
执行make后,默认是编译Release版本(编译中带-DQT_NO_DEBUG)。可以手动修改Makefile,删除-DQT_NO_DEBUG即可编译出Debug版本(含调试信息)。