Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual c++ 如何使用CMake在Visual Studio 2017 RC1中设置环境变量?_Visual C++_Cmake_Environment Variables_Visual Studio 2017 - Fatal编程技术网

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

Visual c++ 如何使用CMake在Visual Studio 2017 RC1中设置环境变量?,visual-c++,cmake,environment-variables,visual-studio-2017,Visual C++,Cmake,Environment Variables,Visual Studio 2017,我正在使用Visual Studio 2017 RC1使用新的“打开文件夹”功能加载CMake项目(C++),并尝试在启动时为二进制文件设置环境变量 由于使用Open Folder时不再有解决方案文件,因此这里似乎不选择使用VS-2017之前的调试对话框 到目前为止,我所尝试的: 使用一个简单的Hello World项目和一个源文件 在解决方案资源管理器中右击相应的C++文件,选择“调试和启动设置” 在那里添加了env:{},这将为Hello World程序提供一个空环境 但是,如果我尝试

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

由于使用Open Folder时不再有解决方案文件,因此这里似乎不选择使用VS-2017之前的调试对话框

到目前为止,我所尝试的:

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

但是,如果我尝试运行二进制文件,会出现一个弹出窗口,上面显示“对象必须实现IConvertible”,而二进制文件不会运行。但是,当省略
env:{}
时,它可以正常工作。我还尝试向env添加一些内容,但效果保持不变。使用currentDir更改工作目录效果很好,因此我假设
launch.vs.json
至少已被读取和使用


由于关于这方面的文档非常稀少,我不确定这是否是使用VS 2017 CMake集成时设置环境变量的预期方式。

要使用CMake为VS 2017设置多个环境变量,请使用
\u0000
作为分隔符。例如,将它们放入
launch.vs.json
将设置两个环境变量
VAR1=USA
VAR2=JAPAN

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

我更进一步:显然它必须是一个字符串,所以“env”:“FOO=BAR”起作用了。下一个问题是,如何设置多个环境变量?