gpt4 book ai didi

c++ - CMake 和不同版本的 Visual Studio

转载 作者:行者123 更新时间:2023-11-28 02:06:48 26 4
gpt4 key购买 nike

我实际上正在编写一个库,我愿意让它成为多平台的。我已经使用了多平台依赖项(主要是提升)并且我已经开始使用 CMake。

过去几个月我一直在使用 CLion,虽然它是一个非常棒的 IDE,但在 Windows 上使用它非常复杂,因为它需要 MinGW 或 Cygwin。直到那时我一直在使用 Cygwin,因为 Unix 的仿真让我满意,但是自从上次更新以来,boost 在它上面完全无法使用。

我认为对我来说最好的办法是重新使用 Visual Studio。但是如何将它与 CMake 一起使用呢?我的库需要部署在多个版本的VS下(从VS2013开始,一直到2015)

到目前为止,我一直在做的是每次添加文件时都重新生成项目,但我发现这个解决方案非常低效,正如您猜到的那样。我还需要能够编译到不同的位置,具体取决于编译器。例如:

  • 包括
  • 图书馆
    • VS2013-x64
      • 调试
      • 发布
    • VS2013-x86
      • 调试
      • 发布
    • VS2015-x64
      • 调试
      • 发布
    • VS2015-x86
      • 调试
      • 发布
  • 来源

可以用 CMake 处理吗?如果是这样,怎么做?

最佳答案

只要在运行cmake时指定即可生成不同版本的VS工程文件,例如:

cmake -G "Visual Studio 14 2015 Win64" ..

cmake -G "Visual Studio 12 2013 Win64" ..

您只需要为每个版本使用正确的生成器名称。

至于每次添加文件时都重新生成,不幸的是没有办法解决这个问题。如果您愿意,可以在工作时将它简单地添加到 visual studio 中的项目中?顺便说一下,您不必在重新生成时删除所有构建工件,因此在将文件添加到目录时运行命令应该很简单,并且项目将在 visual studio 中自动更新。与通过 VS 中的图形用户界面添加它相比,它需要一点时间来适应,但并不是什么大问题。

编辑:调试与发布不是生成器的一部分。您仍然可以像往常一样在 visual studio 中设置它们。

关于c++ - CMake 和不同版本的 Visual Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37149071/

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