qt下的跨目录多工程编译
2016-06-17 19:29
387 查看
转自:http://blog.csdn.net/high_high/article/details/7385585
这里要编译的工程包含一个库和一个可执行文件。可执行文件依赖于库,所以要先编译库,编译后库放在lib目录里面,可执行文件放在bin目录里面。
目录结构如下:
[plain]
view plain
copy
.
├── app
│ ├── app.pro
│ ├── appwindow.cpp
│ ├── appwindow.h
│ └── main.cpp
├── bin
├── complex.pro
├── include
│ └── base.h
├── lib
└── src
├── base.cpp
└── src.pro
全局的工程文件complex.pro在工程根目录下,内容如下:
[plain]
view plain
copy
TEMPLATE = subdirs
SUBDIRS = src app
CONFIG += ordered
subdirs模板表示要编译多个子目录中的工程。CONFIG选项要求各个子工程按顺序编译,子目录的编译顺序在SUBDIRS中指明。
库的工程文件在src目录中,名为src.pro, 内容如下:
[plain]
view plain
copy
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,内容如下:
[plain]
view plain
copy
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
这里要编译的工程包含一个库和一个可执行文件。可执行文件依赖于库,所以要先编译库,编译后库放在lib目录里面,可执行文件放在bin目录里面。
目录结构如下:
[plain]
view plain
copy
.
├── app
│ ├── app.pro
│ ├── appwindow.cpp
│ ├── appwindow.h
│ └── main.cpp
├── bin
├── complex.pro
├── include
│ └── base.h
├── lib
└── src
├── base.cpp
└── src.pro
全局的工程文件complex.pro在工程根目录下,内容如下:
[plain]
view plain
copy
TEMPLATE = subdirs
SUBDIRS = src app
CONFIG += ordered
subdirs模板表示要编译多个子目录中的工程。CONFIG选项要求各个子工程按顺序编译,子目录的编译顺序在SUBDIRS中指明。
库的工程文件在src目录中,名为src.pro, 内容如下:
[plain]
view plain
copy
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,内容如下:
[plain]
view plain
copy
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》part 2 设置软件左上角图标
- Qt Creator error: LNK1123: failure during conversion to COFF: file invalid or corrupt
- QTabWidget标签实现双击关闭的方法(推荐)
- 使用PyQt4写界面后台程序方法总结
- VS2013+QT+OPENCV配置心得
- 实现Qt日志功能并输出到文件(qDebug\qWarning\ qCritical\qFatal)
- Qt之QSS(语法高亮)
- Qt之QSS(语法高亮)
- Qt之QSS(Q_PROPERTY-自定义属性)
- Qt之QSS(Q_PROPERTY-自定义属性)
- Qt之QSS(Q_PROPERTY-原始属性)
- Qt之QSS(Q_PROPERTY-原始属性)
- QTableWidget和QTableView
- 在MQTT中使用SSL/TLS提高安全性
- ubuntu下安装boost库,Qt
- Qt之任务栏系统托盘图标
- 用AOM对象模式,实现QTP的远程调用
- Qt官方开发环境生成的exe发布方式--使用windeployqt(windeployqt是单独的程序,放在低版本qt4目录下也可以运行的)
- QT太多的内容和模块,怎么办?
- Qt简单编程--二进制表示