首页 > 代码库 > qt下的跨目录多工程编译(转)
qt下的跨目录多工程编译(转)
这里要编译的工程包含一个库和一个可执行文件。可执行文件依赖于库,所以要先编译库,编译后库放在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 = subdirsSUBDIRS = src appCONFIG += ordered
subdirs模板表示要编译多个子目录中的工程。CONFIG选项要求各个子工程按顺序编译,子目录的编译顺序在SUBDIRS中指明。
库的工程文件在src目录中,名为src.pro, 内容如下:
TARGET = baseVERSION = 0.1.0CONFIG += staticDESTDIR = ../libINCLUDEPATH += ../includeDEPENDPATH += . ../includeSOURCES += base.cppHEADERS += base.h
TARGET表示编译后的库名字为base,CONFIG += static表示编译后的库是静态库。DESTDIR设置编译后的库的位置。
库编译结束后就是可执行文件编译了,工程文件在app目录下的app.pro,内容如下:
TEMPLATE = appTARGET = appDESTDIR = ../binINCLUDEPATH += . ../includeDEPENDPATH += .LIBS += -L../lib -lbaseSOURCES += appwindow.cpp main.cppHEADERS += appwindow.h
如果要编译多个库,多个可执行文件,或者多级目录工程,可以参照这个例子写多个pro文件,递归而已,不是什么难事。
Reference:
Johan Thelin. Foundations of Qt Development. Apress 2007
转自:http://blog.csdn.net/high_high/article/details/7385585
qt下的跨目录多工程编译(转)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。