Qmake自动生成Makefile

手动写Makefile是一件痛苦的事情,稍不小心就会出错,不过qmake可以让你脱离苦海

qmake可以根据你提供的.pro文件,生成Makefile
不过他可比Makefile简单多啦,一分钟你就能学会

简单的.pro文件

SOURCES += hello.cpp
HEADERS += hello.h
CONFIG = cnosole warn_on debug
DESTDIR = ./bin

只配置这四项就可以生成Makefile

SOURCES

写出源文件的位置,支持相对路径,支持通配符

SOURCES = ../src/*.cpp

SOURCES使用 = 会覆盖之前赋的值,所以建议使用 +=

HEADERS

写出头文件的位置,使用方式和SOURCES类似

HEADERS += ../src/*.h

CONFIG

这里定义的是程序编译的配置选项,例如:

  • console 代表编译console程序
  • warn_on 代表打开警告
  • debug 代表DEBUG模式, 也可release

注意:如果你单纯的想使用qmake(脱离Qt库使用),请像下面这样使用

CONFIG = console warn_on debug

若像下面这样写,CONFIG会默认带一些Qt编译的参数配置,若你没有安装Qt库则会报错

CONFIG += console warn_on debug

DESTDIR

生成文件的路径

C++11特性的支持

QMAKE_CXXFLAGS += -std=c++11

生成Makefile

qmake -o Makefile hello.pro

使用qmake生成Makefile的更多相关文章

  1. 利用qmake生成Makefile文件

    在linux下写程序,免不了要写Makefile文件,用automake,总感觉比较麻烦,linux人喜欢做麻烦的事,以显得风格迥异. 其实用qmake生成Makefile文件相当简单. 1 装好qm ...

  2. qmake使用方法(自动生成Makefile文件)

    qmake的使用简介 下面是qmake的简单介绍和使用要领,更为详细的信息请参阅手册 qmake的介绍 手写Makefile是比较困难并且容易出错的,尤其是需要给不同的平台和编译器组合写几个Makef ...

  3. ./configure,make,make install的作用(configure一般用来生成 Makefile,相当于qmake)

    这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤. ./configure是用来检测你的安装平台的目标特征的.比如它会检测你是不是有CC或GCC,并不是需要CC或GCC ...

  4. 利用 autoconf 和 automake 生成 Makefile 文件

    一.相关概念的介绍 什么是 Makefile?怎么书写 Makefile?竟然有工具可以自动生成 Makefile?怎么生成啊?开始的时候,我有这么多疑问,所以,必须得先把基本的概念搞个清楚. 1.M ...

  5. linux下使用automake工具自动生成makefile文件

    linux环境下,当项目工程很大的时候,编译的过程很复杂,所以需要使用make工具,自动进行编译安装,但是手写makefile文件比较复杂,所幸在GNU的计划中,设计出了一种叫做Autoconf/Au ...

  6. 使用automake等命令自动生成Makefile文件 (转载)

    使用automake等命令自动生成Makefile文件   Linux下编程时,为了方便编译,往往使用Makefile文件自动完成编译,但是Makefile文件本身的书写十分复杂,规则很多.好在Lin ...

  7. 自动生成Makefile时,关于Makefile.am编写

    最近编译一个项目的程序时,二十几个源代码文件放在六个文件夹中,而且各个文件中头文件互相包含.以前写过编译这样组织的源码的makefile,所以这次也就直接写了. 确实因为各个文件间的头文件互相包含,造 ...

  8. 手把手教你自动生成Makefile

    概述:autoconf/automake工具用于自动创建功能完善的Makefile文件,接下来简单介绍一下,如何使用上述工具 自动生成Makefile 前提:安装autoconf工具(ubuntu:s ...

  9. 运用Autoconf和Automake生成Makefile的学习之路

    作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的M ...

随机推荐

  1. jQuery实现模拟滚动条效果;

    滚动条在web开发中,很常见,原生的HTML滚动条很难看,因此很多网站借助JS来模拟实现滚动条效果: 滚动条的实现原理其实比较简单,拿垂直滚动条来说: 1),最外层容器需要设置overflow:hid ...

  2. Bootstrap入门三:页面排版

    在Bootstrap中,页面的排版都是从全局的概念上出发,定制了主体文本.强调文本.标题.Code风格.按钮.表单.表格等格式,并运用CSS3的@font-face和伪元素一起实现了一套icon主题. ...

  3. js判断浏览器滚动条是否拉到底

    $(window).scroll(function(){ // 当滚动到最底部以上n像素时, 加载新内容 if ($(document).height() - $(this).scrollTop() ...

  4. [转载]char * 和char []的区别---之第一篇

    char *  和char []的区别---之第一篇 原文地址http://blog.csdn.net/yahohi/article/details/7427724 在C/C++中,指针和数组在很多地 ...

  5. 判断js和css是否加载完成

    在通过ajax或者src动态获取js.css文件的时候,我们常常需要判断文件是否加载完成,以便进行进一步的操作,但是在检测js.css文件是否已经加载的策略上各浏览器并不统一,有很多坑,现在在这里总结 ...

  6. codeforces399D

    题目大意:ainta刷一面n*n的二维墙.墙一开始可能有一些块被刷了.他终止刷墙的前提是墙的每一行每一列都至少有一块被刷.他每一次从n*n的墙随机选择一块,如果这一块没有被刷就刷,刷了就无视,刷墙不计 ...

  7. C#中实现VB中的CreateObject方法

    经常看到有些VB的例子中直接用个CreateObject就可调用系统功能(大多是COM对象),像用户设定,网络设定等等.虽然C#中可以通过使用VB的命名空间的方法来调用CreateObject函数,但 ...

  8. C51关键字

    C51 中的关键字 关键字 用途 说明 auto 存储种类说明 用以说明局部变量,缺省值为此 break 程序语句 退出最内层循环 case 程序语句 Switch语句中的选择项 char 数据类型说 ...

  9. 贴代码—CF230 DIV1 B

    题目在此: http://codeforces.com/contest/392/problem/B 一直理解错了一句话,以为是用最小的move求最小的花费, 读错题目的有木有!!! 不懂汉诺塔的原理有 ...

  10. Sqli-labs less 64

    Less-64 此处的sql语句为 $sql="SELECT * FROM security.users WHERE id=(($id)) LIMIT 0,1"; 示例payloa ...