qt下的跨目录多工程编译

转载 2012年03月23日 10:58:23

转自:http://blog.csdn.net/high_high/article/details/7385585


这里要编译的工程包含一个库和一个可执行文件。可执行文件依赖于库,所以要先编译库,编译后库放在lib目录里面,可执行文件放在bin目录里面。

目录结构如下:

  1. .  
  2. ├── app  
  3. │   ├── app.pro  
  4. │   ├── appwindow.cpp  
  5. │   ├── appwindow.h  
  6. │   └── main.cpp  
  7. ├── bin  
  8. ├── complex.pro  
  9. ├── include  
  10. │   └── base.h  
  11. ├── lib  
  12. └── src  
  13.     ├── base.cpp  
  14.     └── src.pro  

全局的工程文件complex.pro在工程根目录下,内容如下:
  1. TEMPLATE = subdirs  
  2. SUBDIRS = src app  
  3. CONFIG += ordered  

subdirs模板表示要编译多个子目录中的工程。CONFIG选项要求各个子工程按顺序编译,子目录的编译顺序在SUBDIRS中指明。

库的工程文件在src目录中,名为src.pro, 内容如下:

  1. TARGET = base  
  2. VERSION = 0.1.0  
  3. CONFIG += static  
  4.   
  5. DESTDIR = ../lib  
  6.   
  7. INCLUDEPATH += ../include  
  8. DEPENDPATH += . ../include  
  9.   
  10. SOURCES += base.cpp  
  11. HEADERS += base.h  

TARGET表示编译后的库名字为base,CONFIG += static表示编译后的库是静态库。DESTDIR设置编译后的库的位置。

库编译结束后就是可执行文件编译了,工程文件在app目录下的app.pro,内容如下:

  1. TEMPLATE = app  
  2. TARGET = app  
  3. DESTDIR = ../bin  
  4.   
  5. INCLUDEPATH += . ../include  
  6. DEPENDPATH += .  
  7.   
  8. LIBS += -L../lib -lbase  
  9.   
  10. SOURCES += appwindow.cpp main.cpp  
  11. HEADERS += appwindow.h  

如果要编译多个库,多个可执行文件,或者多级目录工程,可以参照这个例子写多个pro文件,递归而已,不是什么难事。


Reference:

Johan Thelin. Foundations of Qt Development. Apress 2007


QT跨目录编译及多工程集成

[+] 采用一个非常简单的Qt程序作为例子,通过pro文件的合理编写,使得我们的程序在使用动态库的时候,几乎可以忽略掉动态库的存在。它包括3部分: 生成动态库使用动态库生成与使...
  • xzh_blue
  • xzh_blue
  • 2015年09月04日 16:40
  • 830

QT 多目录多工程 配置

Qt 多工程多目录 手把手建工程实例
  • jcq521045349
  • jcq521045349
  • 2017年04月01日 11:12
  • 1020

Qt多工程多目录编译方法

1、首先建立一个空的目录,如:D:/MyApp 2、用qtcreator新建一个App工程,名字为client,路径指定为D:/MyApp,完成之后关闭当前项目 3、用qtcreator新建一个c...
  • kingepoch
  • kingepoch
  • 2015年09月11日 10:08
  • 1040

Qt多工程多目录的编译案例

本案例以1个App+1个共享库为例: 1、在D盘创建空文件夹qMulti   2、使用Qt Creator创建App应用程序:BigWay。注意:创建模板是App,存放路径是D:\qMult...
  • libaineu2004
  • libaineu2004
  • 2014年04月13日 23:04
  • 10622

Qt多工程多目录的编译案例

转自:http://blog.csdn.net/libaineu2004/article/details/23625441 写这篇文章的目的是为了让Qt像VC++那样,支持一个工程包含多个项目。...
  • deng_sai
  • deng_sai
  • 2015年06月26日 10:09
  • 323

多目录工程的makefile示例

本文来源于:http://www.360doc.com/content/12/0403/08/1317564_200410720.shtml转载请注明出处 本文代码虽简单,但涉及...
  • mu0206mu
  • mu0206mu
  • 2015年07月25日 11:12
  • 2079

Qt学习笔记3:Qt工程的目录结构

经过前两篇的学习,已经可以使用Qt空项目模板创建自己的工程了。通过本篇的学习,整理一下如果使用Qt工程的目录结构,使项目更规范和容易管理。...
  • superhcq
  • superhcq
  • 2016年12月19日 19:28
  • 2915

Linux下automake软件编译与发布之多级目录结构的处理

多级目录结构的软件,一般是单个程序、库文件或模块放在各自的目录中。automake要求每个目录都有自己的Makefile.am文件来编译各自目录 下的代码。在顶级的目录中,有一个Makefile.am...
  • mydriverc2
  • mydriverc2
  • 2015年12月15日 15:10
  • 446

【Linux】多文件标准工程目录的Makefile编写及通用模板

在这里我们介绍多文件Makefile的编写,多文件标准工程目录的Makefile的编写及通用模板。...
  • newcong0123
  • newcong0123
  • 2016年07月09日 10:48
  • 1683

Linux 下重新编译Windows下生成的Qt工程 .

以下内容未经测试通过,待我到时候测试通过时会验证相关方案和更新相关问题的解决措施。   --------------------------------------------------------...
  • Fanpei_moukoy
  • Fanpei_moukoy
  • 2014年03月20日 13:43
  • 1373
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:qt下的跨目录多工程编译
举报原因:
原因补充:

(最多只允许输入30个字)