一般推荐qmake来编译Qt应用程序, qmake用起来也很简单,但是用scons更简单, 更灵活。下面是一个典型的scons脚本,利用mingw来编译一个Qt应用.
#SConstruct
qtdir = 'C:\\Programs\\Qt'
qtinc = qtdir + '\\include'
src = Glob('*.cpp')
inc_path = ';'.join((
qtinc,
qtinc + '\\QtCore',
qtinc + '\\QtGui'))
lib_path = qtdir + '\\lib'
libs = ['QtCore4', 'QtGui4', 'qtmain']
env = Environment(tools = ['mingw', 'qt'])
env.Program('MyApp', src,
CPPPATH = inc_path,
LIBPATH = lib_path,
LIBS = libs)
关于MOC: scons会自动对头文件调用MOC(如果需要),对于cpp文件你需要使用 env.Moc().
关于UIC: 对于.ui文件,根据后缀名自动调用uic,也可以使用env.Uic().