qt下的跨目录多工程编译
原地址:http://blog.csdn.net/fjb2080/article/details/7386292
转自:http://blog.csdn.net/high_high/article/details/7385585
这里要编译的工程包含一个库和一个可执行文件。可执行文件依赖于库,所以要先编译库,编译后库放在lib目录里面,可执行文件放在bin目录里面。
目录结构如下:
- .
- ├── app
- │ ├── app.pro
- │ ├── appwindow.cpp
- │ ├── appwindow.h
- │ └── main.cpp
- ├── bin
- ├── complex.pro
- ├── include
- │ └── base.h
- ├── lib
- └── src
- ├── base.cpp
- └── src.pro
全局的工程文件complex.pro在工程根目录下,内容如下:
- TEMPLATE = subdirs
- SUBDIRS = src app
- CONFIG += ordered
subdirs模板表示要编译多个子目录中的工程。CONFIG选项要求各个子工程按顺序编译,子目录的编译顺序在SUBDIRS中指明。
库的工程文件在src目录中,名为src.pro, 内容如下:
- TARGET = base
- VERSION = 0.1.0
- CONFIG += static
- DESTDIR = ../lib
- INCLUDEPATH += ../include
- DEPENDPATH += . ../include
- SOURCES += base.cpp
- HEADERS += base.h
TARGET表示编译后的库名字为base,CONFIG += static表示编译后的库是静态库。DESTDIR设置编译后的库的位置。
库编译结束后就是可执行文件编译了,工程文件在app目录下的app.pro,内容如下:
- TEMPLATE = app
- TARGET = app
- DESTDIR = ../bin
- INCLUDEPATH += . ../include
- DEPENDPATH += .
- LIBS += -L../lib -lbase
- SOURCES += appwindow.cpp main.cpp
- HEADERS += appwindow.h
如果要编译多个库,多个可执行文件,或者多级目录工程,可以参照这个例子写多个pro文件,递归而已,不是什么难事。
Reference:
Johan Thelin. Foundations of Qt Development. Apress 2007
qt下的跨目录多工程编译的更多相关文章
- qt下的跨目录多工程编译(转)
这里要编译的工程包含一个库和一个可执行文件.可执行文件依赖于库,所以要先编译库,编译后库放在lib目录里面,可执行文件放在bin目录里面. 目录结构如下: 全局的工程文件complex.pro在工程根 ...
- Qt Creator 更改默认构建目录到工程目录下
Qt Creator 更改默认构建目录到工程目录下 步骤 工具->选项->构建和运行->概要->Default build directory->去掉第一个". ...
- linux下编译qt5.6.0静态库(使用./configure --help来看看都有哪些参数。超详细,有每一个模块的说明。如果改变了安装的目录,需要到安装目录下的bin目录下创建文件qt.conf)(乌合之众)good
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- eclipse中多个工程编译到同一个目录下
1.点击link source 2.选择Java(ps:Java文件目录)或者resource(ps:配置文件目录) 3.最后结果,然后使用project中的clean进行编译,就可以把两个工程编 ...
- Qt工程使用第三方库——Qt下使用glut库
本人使用的环境 操作系统:windows10 Qt构建套件:qt-mingw4.8.5 + mingw4.4.0 Qt Creator版本:3.6.1 本教程配置针对工程而言,每个工程需要单独配置 ...
- [QT_OPENCV] qt下opencv配置以及首个opencv工程
使用环境 : window版本 : win7 x64 QT : 5.8 32bit MinGW530 OpenCv : 3.2 opencv在qt下的环境配置: 在百度上百度了许多关于opencv环境 ...
- 痞子衡嵌入式:MCUXpresso IDE下添加C++源文件进SDK工程编译的方法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE下添加C++源文件进SDK工程编译的方法. 最近有客户反映在MCUXpresso IDE下的SDK工程里添加 ...
- 简单Nginx下防跨站、跨目录安全设置,支持PHP 5.3.3以上版本
Nginx下存在跨站和跨目录的问题,跨站和跨目录影响同服务器/VPS上的其他网站. PHP在5.3.3以上已经增加了HOST配置,可以起到防跨站.跨目录的问题. 如果你是PHP 5.3.3以上的版本, ...
- 痞子衡嵌入式:MCUXpresso IDE下添加新路径下源文件进工程编译的方法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE下添加新路径下源文件进工程编译的方法. 接着上篇文章 <MCUXpresso IDE下SDK工程导入与 ...
随机推荐
- UVALive 5102 Fermat Point in Quadrangle 极角排序+找距离二维坐标4个点近期的点
题目链接:点击打开链接 题意: 给定二维坐标上的4个点 问: 找一个点使得这个点距离4个点的距离和最小 输出距离和. 思路: 若4个点不是凸4边形.则一定是端点最优. 否则就是2条对角线的交点最优,能 ...
- Android GPS应用:临近警告
前面介绍过LocationManager有一个addProximityAlert(double latitude,double longitude,float radius,long expirati ...
- 【Maven】运行项目,报ClassNotFound错误
我们在pom.xml中添加了那些依赖的jar后,一旦在代码中应用.当我们本地调试时,会报ClassNotFound错误,这是为什么?? 因为Tomcat不懂这些配置,你必须把Maven Depende ...
- 配置SecureCRT连接Linux CentOS
链接地址:http://f.dataguru.cn/thread-144513-1-1.html 环境:Linux:centos5.8虚拟机:VirtualBox本机:windows至于怎么安装Cen ...
- Linux下通过rm -f删除大量文件时提示"-bash: /bin/rm: Argument list too long"的解决方法
Linux下通过rm -f删除/var/spool/postfix/maildrop/中大量的小文件时提示: "-bash: /bin/rm: Argument list too long& ...
- Get与POST的理解
针对GET& POST的掌握可以说是迷迷糊糊的,今天特意拿出来好好整理一下,便于掌握理解. 在服务器端都有一个用来标识资源位置的符号,被称为统一资源标识(URL). URI有两种形式.分别为U ...
- AddSelf
今天看 C语言深度深度解剖 第58页 看到了这么一段代码,就敲进了dev 谁知居然出现了个死循环.但是我不知道为什么. 贴出来,等有空了再请教别人好好分析,或者是网络上的高人指点一下 //d ...
- [置顶] HMM Tutorial 隐马尔科夫模型
有一个月没有写博客了,这一个月系统的学习了HMM model. 上周周五做了个report 感觉还好. 所以把Slide贴上来.
- Android中如何查看内存(下)
实例1 int cnt=0; final static int kBufferMinSize=1000; final static int kBufferMaxSize=2000; StringBuf ...
- 安卓开发-Activity中finish() onDestroy() 和System.exit()的区别
Activity.finish()Call this when your activity is done and should be closed. 在你的activity动作完成的时候,或者Act ...