由于QT使用信号/槽取代回调函数进行同步/异步事件调用,所以QT中使用了元信息模型,自定义控件(包含Q_Object定义)需要使用QT的预编译处理器(moc.exe)进行头文件的预编译,以便生成元信息执行文件,其在VS2008中的手动设置过程如下:
1、点选相应的头文件,右键显示场景菜单,选择"属性" ==> "配置属性" ==> "自定义生成步骤" ==> "常规";2、在右边的"命令行"输入: C:\Qt\4.7.3\bin\moc "$(InputPath)" "-o$(InputDir)\$(InputName)_moc.cpp"; 注意替换相应的moc.exe执行文件路径
在右边的"输出"输入: $(InputName)_moc.cpp;
3、在对应的源文件如"QWinHost.cpp" 中包含预生成的cpp文件,"QWinHost_moc.cpp".