CMake + MSBuild 项目显示重复条目

Posted

技术标签:

【中文标题】CMake + MSBuild 项目显示重复条目【英文标题】:CMake + MSBuild project shows repeated entries 【发布时间】:2017-10-10 02:20:04 【问题描述】:

我之前使用 CMake 构建了两个项目,其中“Visual Studio 12 2013”​​作为生成器。 Qt Creator 成功地解析了这两个项目,但所有源文件和头文件在其中一个项目中重复,在另一个项目中翻了两番。下面是它的外观:

这是一个错误吗?还是我做错了什么?用于构建这些项目的 CMake 命令与通常的命令没有什么不同 - 只是 cmake .. <some flags> 然后是 cmake --build . --config Release

【问题讨论】:

在 IDE 中为 VS 项目生成器组织文件是通过设置属性来完成的。很可能您的 CMakeLists.txt 没有设置任何属性来组织事物。这只是一个外观问题。看看FOLDER 和USE_FOLDERS 属性 您能否提供使用这些属性的项目示例?谢谢 我尝试设置这些属性,但似乎没有任何改变 使用FOLDER/USE_FOLDERS组织目标,使用source_group组织目标内的源文件。 【参考方案1】:

CMake 将使用 msbuild 生成器生成多个配置。然后,Creator 将为每个 CMake 配置报告一个文件。

有一个变量可以告诉 cymbals 构建哪种配置并将其限制为一个,但我现在不知道它的名字。针对您所描述的问题,针对 Qt Creator 打开了一个错误报告,其中包含以下信息:-)

【讨论】:

以上是关于CMake + MSBuild 项目显示重复条目的主要内容,如果未能解决你的问题,请参考以下文章

cmake cmake MSBUILD : error MSB1009: 项目文件不存在 or MSBuild.exe not find !

CMake ERROR Failed to run MSBuild command: MSBuild.exe

为什么MSBuild会将.tlog文件生成到CMakeFiles / CompilerIdC中,如何让它停止?

MSBuild.exe 已停止 cmake 错误

CMake 错误无法运行 MSBuild 命令

SQL显示重复条目