其实也不是什么两种编译方式,说来也是一种,只不过是:一个是不需要qmake,而需要moc,uic等的方法;另一个是需要qmake,而不要moc,uic等的方法。
先来看看qmake :
假如要对hello.cpp进行编译,那么步骤是:
qmake -project 生成平台相关的工程文件
qmake -tp vc hello.pro 通过hello.pro工程文件,生成平台(VC)相关的makefile
接下来就是到VC里去build,接着是运行生成的exe文件。
还有一种方法是,不用qmake去生成makefile,而是用vc自身的功能去生成makefile,其实也就是简单build一下即可。
可是会抱错。原因在于对于有元对象的文件(类如:QObject , Signal , Slot,还有.ui的文件),要事先用moc或uic 工具
将它们生成C++文件 .然后就像对待一般的C++文件一样在VC里build就行了。
末了,说一下,qmake -tp vc hello.pro其实中间已经将moc|uic等工具加进去makefile了,所以我所说的两种方法也就是一种方法。