手动生成moc文件
在VS中写Qt项目时,手动添加了一个类,由于要用到信号槽,所以需要生成相应的moc文件。写好信号槽以后,在类里面第一行应该写上Q_OBJECT关键字,编译项目会提示无法找到moc_XXX.cpp文件。这就需要手动生成一下对应的moc文件,方法有两个:
1、利用VS生成(我用的VS2013,其他应该类似)。
在头文件上右键--属性。如下图进行设置:
然后,在头文件上右键--编译,即可在头文件同目录下找到moc_你的文件名.cpp,将其剪切到GeneratedFiles/Debug下即可,如果你是用Release模式运行程序,就放到GeneratedFiles/Debug下。
2、用命令行生成moc文件
在头文件的目录下,空白处 Shift+右键--在此处打开命令行窗口,如下图执行命令:
就会在当前目录下生成相应的moc文件,将其剪切到GeneratedFiles/Debug下即可。
其实第一种方法的本质就是用命令行生成的moc文件。