• 5116阅读
  • 4回复

[提问]QTCreator中如何建立子工程? [复制链接]

上一主题 下一主题
离线twicave
 

只看楼主 倒序阅读 楼主  发表于: 2012-12-31
试了很久。。。

我不希望用连接库的方式组织代码,那样调试起来不太方便。
希望代码的组织是有一个root工程,然后下辖很多子工程。
希望有一个step by step的说明贴。
谢谢!
离线roywillow

只看该作者 1楼 发表于: 2012-12-31
我记得dbzhang的博客里有一篇pro、pri、prf文件的详细解释,你可以谷歌一下这几个关键字
我觉得这种组织方式应该是通过pro中的subdirs来实现
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线twicave

只看该作者 2楼 发表于: 2012-12-31
谢谢,刚刚仔细看了一下QtCreator中关于subdirs,也就是子工程的论述。
发现那个子工程的概念与我想象中的不同。
qt creator中的子工程,基本上相当于一个文件夹,里面的文件就是各种对.lib的引用。

所以,Qt Creator中只能以lib方式组织自己的项目。

谢谢roywillow,我会查看一下你说的内容,最后会做一个摘要。
离线XChinux

只看该作者 3楼 发表于: 2013-01-01
学会自己写.pro文件,万事就解决了。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线twicave

只看该作者 4楼 发表于: 2013-01-06
看到了《浅谈 qmake 之 pro、pri、prf、prl文件 》
跟我的关系不大,我应该在两年之内都不会碰pro之外的东西。
-----------------------
现在总结一下如何创建将项目分解为多个子工程:
*.子工程都是以lib或者dll的形式存在的。
1.建立子工程,在创建时选择lib或dll.
2.主工程中,选择加入.lib,然后选择子工程的存放位置。向导最终会显示大约6,7行代码,把这些代码复制粘贴到你的.pro文件中即可。
3.在工作区中打开多个工程后,你需要设置这些工程之间的编译顺序,这是通过设置dependency实现的。
4.你可以将当前的工作区保存下来,启动时可以选择切换至该工作区,快速开始工作。

------------------------
最后,再说说subDirs,subDirs是除去app和lib外的另外一种TEMPLATE设置。这种工程类型是用来批量编译多个工程来用的。比如Qt的例子程序就被组织成subDirs.只要编译最顶层的examples.pro,所有子目录中的pro都会被编译。是一个批处理的概念。
------------------------
目前仍然存在的问题:
现在调试,可以直接在子工程中设置断点,就像代码位于同一个工程中一样。
不过make过程好像失效了。改动了子工程的代码后,主工程大多需要强制全编译一遍才能看到修改结果。
不知道这是不是qmake的一个bug.
我觉得如果你监视一个文件夹,改动后重新编译,那么文件夹内部所有子文件夹的改动也应该导致重新编译才对。可是现在的情况似乎不是这样。

我的模块路径设置是这样的。
lib
lib\bin
lib\module1
lib\module1\include
lib\module1\src
lib\moudle1\resource
其中src目录还会分割为子目录用来管理源代码。





快速回复
限100 字节
 
上一个 下一个