visual-studio-2010 - 将文件添加到 Visual Studio 2010 中的 cmake 项目

标签 visual-studio-2010 visual-studio cmake projects-and-solutions

我已经在 linux 中使用 cmake 有一段时间了,但是由于一些原因我需要转移到 Visual Studio 中工作......

我生成了 cmake 项目,并且可以在 Visual Studio 中加载解决方案,但是当我尝试添加文件时,它会被添加到构建文件的位置,而不是源目录中。有没有办法解决这个问题,还是必须通过资源管理器添加它们,然后重新生成cmake构建文件,然后重新打开解决方案?这似乎有点笨拙,我希望有一种更简单的方法。

最佳答案

是的,您应该通过 CMakeLists.txt 文件而不是通过 VS 添加文件。这里有几个选择。

推荐的方法是在 CMakeLists 文件中明确列出所有源文件。如果要添加新文件,则必须将其添加到 CMakeLists.txt。这种方法的优点是在你修改 CMakeLists 文件后,整个构建是“过时的”,所以在 VS 中尝试构建任何目标都会导致 CMake 重新运行并将文件添加到适当的目标。

另一种选择是利用 CMake 的 file(GLOB ...) 命令。这将在给定的路径中搜索源,并可用于自动生成源列表。好处是它比在 CMakeLists 文件中手动列出所有文件更乏味。但是,缺点是如果将新文件添加到源目录中,则必须手动重新运行 CMake,因为 CMake 不知道源目录已过期。我不得不说,我通常不认为这是一个问题——如果你刚刚添加了一个文件并且它没有出现在你的 VS 资源管理器中,这是非常明显的,当然,在构建时它更明显,因为构建失败(或者您无论如何都没有使用该文件)。

请注意,对于任一选项,如果您重新运行 CMake,则无需关闭 VS。

关于visual-studio-2010 - 将文件添加到 Visual Studio 2010 中的 cmake 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15596752/

相关文章:

c++ - 确定 C++ 模板仿函数的参数数量

sql-server - 无法在 SSIS 中调试脚本任务

c++ - 如何在 CMake 中使用 c++20 模块?

c++ - 如何使用CMake自动链接Boost库

c# - SQL 服务器未显示在 Microsoft Visual Studio 2010 上

vb.net - VB.NET 和 Visual Studio 2010 是否支持多行匿名方法?

visual-studio - Visual Studio PC 基准测试

visual-studio - 具有两个相同类型的自动参数的 MSVC lambda

visual-studio - Azure Functions Visual Studio 2015 智能感知

visual-studio - QT构建因NMAKE : fatal error U1077: 'echo' : return code '0x1' 而失败