如何使用CMake在Visual Studio 2017 RC1中设置环境变量?

时间:2016-12-12 04:48:32

标签: visual-c++ cmake environment-variables visual-studio-2017

我正在使用Visual Studio 2017 RC1使用新的"打开文件夹"来加载CMake项目(C ++)。功能并尝试在启动时为二进制文件设置环境变量。

由于在使用 Open Folder 时不再有解决方案文件,因此使用调试对话框的VS-2017之前的方式似乎不是一个选项。

到目前为止我已尝试过:

  • 使用带有单个源文件的简单Hello World项目
  • 右键单击解决方案资源管理器中相应的C ++文件,选择" 调试并启动设置"
  • 在那里添加env: {},这应该为Hello World程序提供一个空的环境

Screenshot of Solution Explorer and launch.vs.json

但是,如果我尝试运行二进制文件,则弹出窗口会显示" 对象必须实现IConvertible "并且二进制不会运行。但是,省略 env: {} 时,它可以正常工作。我也尝试过向env添加一些东西,但效果保持不变。使用 currentDir 更改工作目录可以正常工作,因此我假设launch.vs.json至少已被读取和使用。

由于这方面的文档看起来很少,我不确定这是否是使用VS 2017 CMake集成时设置环境变量的预期方法。

1 个答案:

答案 0 :(得分:2)

为了使用CMake为VS 2017设置多个环境变量,请使用\u0000作为分隔符。例如,在launch.vs.json中添加这些内容将设置2个环境变量VAR1=USAVAR2=JAPAN

{
  "version": "0.2.1",
  "defaults": {},
  "configurations": [
    {
      "type": "default",
      "name": "main.cpp",
      "project": "src\\main.cpp",
      "env": "VAR1=USA\u0000VAR2=JAPAN" 
    }
  ]
}