首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

Qt中增添一个已经存在的Makefile工程

2013-03-27 
Qt中添加一个已经存在的Makefile工程我的问题是这样的,这个Qt工程是aaa.pro,它编译好后会调用一个hellowor

Qt中添加一个已经存在的Makefile工程
我的问题是这样的,这个Qt工程是aaa.pro,它编译好后会调用一个helloworld程序。目录结果如下:
qt_projects->
   aaa->
       aaa.cpp main.cpp aaa.h aaa.pro
   hellworld->
       hello.c hello.h Makefile

也就是helloworld是一个很好的程序了。和qt工程没有关系,只是进去make一个就OK了。在编译aaa这个qt工程时,捎带着把这个helloworld给编译了。怎么做呢?   怎么修改aaa.pro可以实现?  对于假若aaa也是一个纯makefile工程,我就可以直接修改aaa目录下的Makefile加上 make -c ../helloworld 就OK了。但是这是一个qt工程该怎么办呢?


要说修改makefile,用qmake生成的makefile也可以修改,但是我想在qmake时生成的makefile就已经可以编译helloworld了。      
[解决办法]
file->new file project->other project->import existing project
导入其他的工程
然后会生成对应的.pro文件
如果你要改写成A 依赖B的编译方式,则需要按照qmake的方式自己编辑.pro
见qmake 文档
用到里面的.
depends


qmake tries to do everything expected of a cross-platform build tool. This is often less than ideal when you really need to run special platform-dependent commands. This can be achieved with specific instructions to the different qmake backends.

Customization of the Makefile output is performed through an object-style API as found in other places in qmake. Objects are defined automatically by specifying their members; for example:

 mytarget.target = .buildfile
 mytarget.commands = touch $$mytarget.target
 mytarget.depends = mytarget2

 mytarget2.commands = @echo Building $$mytarget.target
[解决办法]
你可以写一个顶层Makefile文件,管理你的aaa.pro和helloworld等。不管是qt还是其他纯makefile工程,该qmake时才qmake,该make时就make。

热点排行