VS2010在QT中用moc编译带有Q_OBJECT时所需设置

来源:互联网 发布:面板数据回归分析实例 编辑:程序博客网 时间:2024/04/29 01:53

由于VS2010 对QT的支持还不完善,所以很多时候都需要手动配置,当我们的类中使用到Q_OBJECT宏时,我们应该用moc编译带有该类的头文件,在VS 2010中可以由如下设置

 

 

第一步:在该头文件上右键选择属性,然后选择自定义建制,此时左边弹出一个新的选项为自定义建制,选择该选项下的一般,在此对话框中可以看到有4个命令选项。如下图

在commanderline中输入命令:"$(QTDIR)/bin/moc.exe"  "%(FullPath)" -o "./GeneratedFiles/$(Configuration)/moc_%(Filename).cpp" -D -DQT_CORE_LIB -DQT_GUI_LIB -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DUNICODE -DWIN32 -I"$(QTDIR)/include" -I"$(QTDIR)/include/QtCore" -I"$(QTDIR)/include/QtGui" -I"$(QTDIR)/include/qtmain" -I"." -I"./GeneratedFiles" -I"./GeneratedFiles/$(Configuration)"

 

Description中输入:Moc%27ing %(Filename)%(Extension)...

 

OutPuts中输入:./GeneratedFiles/$(Configuration)/moc_%(Filename).cpp

 

AdditionnalOutPuts中输入:$(QTDIR)/bin/moc.exe;%(FullPath);%(AdditionalInputs)

 

设置完后编译,编译完成可以在当前目录下看到产生一个新的文件夹为GeneratedFile,moc编译转换为CPP的文件就在这个文件夹中

最后一步,在vs中,在工程的文件目录下新建一个文件夹为GeneratedFile,然后右键点击添加外部文件,将moc后生成的.cpp文件添加至该文件夹中即可。如图

 

 

大功告成