在VS中设置,这样每次编译自动生成:
1. 在solution explorer窗口中, 右击要生成moc文件的头文件, 选择"Properties";
2. 弹出的窗口左边,"Configuration Properties"下面点击"General", 将右边第二行的Item Type后面内容改成"Custom Build Tool";
3. 这时候左边会新出现一栏"Custom Build Tool", 改变右边的相应选项即可.
下面是我程序的设置, 注意蓝色内容要一致, 其实和本文上面命令行手动生成原理一致, 内容是相对应的.
Command Line "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "$(Configuration)\moc_%(Filename).cpp"
Description Moc%27ing 头文件名字.h...
Outputs $(Configuration)\moc_%(Filename).cpp
Additional Dependencies $(QTDIR)\bin\moc.exe
%(FullPath)
最后在Generated Files 相应的版本下添加moc_xxxx.cpp,这样就在编译过程中把这个文件链接到最终生成文件中。这个在生成静态库.lib中就会链接到.lib中,当客户代码调用该.lib就不会出现unsolved meta ... 问题