最近我从Qt Software安装了VS Addin,我将.pro项目导入VS2008.一般来说,一切都很好,只有一个小而烦人的例外.
假设我有一个file.cpp,它有一个声明它是Q_OBJECT的类.因此,这样的文件是MOC-ed并且生成了moc_file.cpp,并且在"生成的文件"下的解决方案中可用.到现在为止还挺好.
有趣的是,当我在file.cpp中更改某些内容(例如添加一行),并使用Ctrl + S保存文件时,moc_file.cpp将从构建中排除(您可以在图标上看到无条目符号) ).当我按F7构建解决方案时,我遇到了许多典型的链接器错误.为了解决这个问题,我需要转到moc_file.cpp的属性,并将"Exclude from build"从"Yes"更改为"No".一切正常.
其他人是否经历过同样的事情?难道我做错了什么?
小智 7
问题解决了.我发现在我手工制作的描述我的项目的.pro文件中,我将MOC_DIR指定为:
MOC_DIR = .moc
导入到Visual Studio目录后,"生成的文件"对于Release和Debug都是相同的.因此,当我的活动配置是Debug时,例如,当我保存文件时,它被排除在构建之外,因为它对于与Release相关的文件是明智的 - 就像rpg和Andrew建议的那样.将目录更改为.moc\$(ConfigurationName)后,问题不再出现(我在解决方案中看到每个生成文件的2个版本 - 每个配置一个).
谢谢大家的帮助!