gpt4 book ai didi

visual-studio-2008 - Visual Studio 2008 中的 Qt4 - moc-ed 文件被排除在构建之外?

转载 作者:行者123 更新时间:2023-12-03 23:10:28 25 4
gpt4 key购买 nike

最近我从 Qt Software 安装了 VS Addin,并将我的 .pro 项目导入到 VS2008。
一般来说,一切正常,只有一个小而烦人的异常(exception)。

假设我有一个 file.cpp,其中有一个声明它是 Q_OBJECT 的类。
因此,文件是 MOC-ed 并生成 moc_file.cpp,并且在“生成的文件”下的解决方案中可用。到现在为止还挺好。

有趣的是,当我更改 file.cpp 中的某些内容(例如,添加一行)并使用 Ctrl+S 保存文件时,moc_file.cpp 会从构建中排除(您可以在图标上看到无输入符号)。当我按 F7 构建解决方案时,我遇到了很多典型的链接器错误。为了解决这种情况,我需要转到 moc_file.cpp 的属性并将“从构建中排除”从"is"更改为“否”。然后一切正常。

其他人有同样的经历吗?难道我做错了什么?

最佳答案

问题解决了。我发现在描述我的项目的手工制作的 .pro 文件中,我将 MOC_DIR 指定为:

MOC_DIR = .moc



导入到 Visual Studio 目录后,“生成的文件”对于发布和调试都是相同的。因此,例如,当我的事件配置是 Debug 时,当我保存一个文件时,它被排除在构建之外,因为它对于与 Release 相关的文件是明智的——正如 rpg 和 Andrew 建议的那样。
将目录更改为 .moc\$(ConfigurationName) 后,问题不再出现(并且我在我的解决方案中看到每个生成的文件的 2 个版本 - 每个配置一个)。

谢谢大家的帮助!

关于visual-studio-2008 - Visual Studio 2008 中的 Qt4 - moc-ed 文件被排除在构建之外?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1200268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com