是否有自动方式从Makefile中删除不必要的目标? 我使用qmake生成的,但我在机器上运行它们没有QT。由于qmake生成的Makefile,它包含与QT相关的目标,例如1)“Makefile:”,它们调用“$(QMAKE)”2)“qmake:”;以及依赖项中的QT文件,例如“/usr/share/qt4/mkspecs/common/g++.conf”等。
Makefile: my_project.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/qt4/mkspecs/common/g++.conf \
/usr/share/qt4/mkspecs/common/unix.conf \
...
$(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug -o Makefile my_project.pro
...
qmake: FORCE
@$(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug -o Makefile my_project.pro
我试图手动删除这些目标,而不是用它们成功编译项目。问题是,是否有一种简单的自动化方式?
答案 0 :(得分:1)
不,没有。如果您使用的是qmake,则表示您希望在安装了qt的计算机上使用它。据我所知,您不应该使用Makefile共享您的源代码,而只使用.pro文件。任何为自己编译的人都应该在make之前调用qmake(如果使用visual,则调用'nmake')。
如果您根本不使用qt,并且仅使用qmake来生成Makefile,那么还有其他选择(尽管不像qmake那么简单,我承认),例如cmake或autoconf / automake。