【发布时间】:2018-12-28 09:47:11
【问题描述】:
CMake 3.9 为我的项目创建了一个 Visual Studio 2017 解决方案 (*.sln) 文件,然后我可以在 IDE 中打开该文件以编辑和构建我的项目。相同项目的 CMake 3.11 运行正常,但不生成解决方案文件。 CMake 对解决方案文件的支持是否发生了变化? CMake 变更日志没有提及任何相关内容。
这个小项目演示了这个问题:
project(MyProject)
enable_language(CSharp)
cmake_minimum_required(VERSION 3.11)
add_custom_target(${PROJECT_NAME}
SOURCES MyFile.cs # Missing MyProject.sln
# SOURCES MyFile.txt # OK
)
在 3.9 中,两条 SOURCES 行都会生成 MyProject.sln。在 3.11 中,带有 MyFile.cs 的行不会生成 MyProject.sln。
【问题讨论】:
-
请通过stackoverflow.com/help/mcve改进您的问题。没有迹象表明解决方案文件有更改:github.com/Kitware/CMake/…(自 3.9 起没有更改。)
-
欢迎来到 StackOverflow。请给我们更多信息。你是从头开始重新生成的吗?您是否比较了两个版本的
CMakeCache.txt?一个简单的“Hello World”项目有效吗?它可以在另一台计算机上运行吗?CMakeFiles\CMakeError.log说什么?因为如果生成器在没有错误的情况下完成,则应该有一个构建环境。 -
感谢您确认应该有解决方案文件。生成器完成时没有错误,但缺少解决方案文件。我花了一段时间才在我们的大型项目中找出问题,但现在我添加了问题的最小样本。