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。