使用qmake生成Makefile
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的更多相关文章
- 利用qmake生成Makefile文件
在linux下写程序,免不了要写Makefile文件,用automake,总感觉比较麻烦,linux人喜欢做麻烦的事,以显得风格迥异. 其实用qmake生成Makefile文件相当简单. 1 装好qm ...
- qmake使用方法(自动生成Makefile文件)
qmake的使用简介 下面是qmake的简单介绍和使用要领,更为详细的信息请参阅手册 qmake的介绍 手写Makefile是比较困难并且容易出错的,尤其是需要给不同的平台和编译器组合写几个Makef ...
- ./configure,make,make install的作用(configure一般用来生成 Makefile,相当于qmake)
这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤. ./configure是用来检测你的安装平台的目标特征的.比如它会检测你是不是有CC或GCC,并不是需要CC或GCC ...
- 利用 autoconf 和 automake 生成 Makefile 文件
一.相关概念的介绍 什么是 Makefile?怎么书写 Makefile?竟然有工具可以自动生成 Makefile?怎么生成啊?开始的时候,我有这么多疑问,所以,必须得先把基本的概念搞个清楚. 1.M ...
- linux下使用automake工具自动生成makefile文件
linux环境下,当项目工程很大的时候,编译的过程很复杂,所以需要使用make工具,自动进行编译安装,但是手写makefile文件比较复杂,所幸在GNU的计划中,设计出了一种叫做Autoconf/Au ...
- 使用automake等命令自动生成Makefile文件 (转载)
使用automake等命令自动生成Makefile文件 Linux下编程时,为了方便编译,往往使用Makefile文件自动完成编译,但是Makefile文件本身的书写十分复杂,规则很多.好在Lin ...
- 自动生成Makefile时,关于Makefile.am编写
最近编译一个项目的程序时,二十几个源代码文件放在六个文件夹中,而且各个文件中头文件互相包含.以前写过编译这样组织的源码的makefile,所以这次也就直接写了. 确实因为各个文件间的头文件互相包含,造 ...
- 手把手教你自动生成Makefile
概述:autoconf/automake工具用于自动创建功能完善的Makefile文件,接下来简单介绍一下,如何使用上述工具 自动生成Makefile 前提:安装autoconf工具(ubuntu:s ...
- 运用Autoconf和Automake生成Makefile的学习之路
作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的M ...
随机推荐
- WEB 容器、WEB服务和应用服务器的区别与联系
Web容器: 何为容器? 容器是一种服务调用规范框架,j2ee大量运用了容器和组件技术来构建分层的企业级应用,在J2EE规范中,相应的有Web Container和EJB Containe ...
- R语言绘图002-页面布局
par().layout().split.screen()函数 1. par()函数的参数详解 函数par()可以用来设置或者获取图形参数,par()本身(括号中不写任何参数)返回当前的图形参数设置( ...
- 显示器VGA视频数据线的问题
一朋友原来有一套PC电脑,后来买了一台新的显示器,新的显示器分辨率为1920X1080,主机接到新的显示器上,分辨率始终无法上到1920X1080,原主机的显示卡驱动已经是最新,还是不行,又重新安装操 ...
- NSIS中判断.net framework 是否安装
在网上找了几个脚本,原理都是读取注册表进行判断,都可以用. 1.CheckDotNetFramework /* * Name: CheckDotNetFramework.nsh * Version: ...
- hdu 3068 最长回文 manacher
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度.回文就是正 ...
- vitrualbox虚拟机64位安装报错解决
1 NtCreateFile(\Device\VBoxDrvStub) failed: 0xc0000034 STATUS_OBJECT_NAME_NOT_FOUND (0 retries) 解决办法 ...
- html5 webApp常用Meta标签
Html5 webApp常用Meta标签 <meta charset="UTF-8"> <meta name="viewport" conte ...
- jquery json遍历和动态绑定事件
<div id='tmpselectorList' style='border: 1px solid grey;max-height: 150px;position:absolute;text- ...
- Codeforces 294B Shaass and Bookshelf(记忆化搜索)
题目 记忆化搜索(深搜+记录状态) 感谢JLGG //记忆话搜索 //一本书2中状态,竖着放或者横着放 //初始先都竖着放,然后从左边往右边扫 #include<stdio.h> #inc ...
- laravel笔记
向视图中传递变量 使用with()方法 return view('articles.lists')->with('title',$title); 直接给view()传参数 return view ...