【问题标题】:How to set environment variables in Visual Studio 2017 RC1 using CMake?如何使用 CMake 在 Visual Studio 2017 RC1 中设置环境变量?
【发布时间】:2017-04-26 22:27:39
【问题描述】:

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

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

到目前为止我已经尝试过:

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

Screenshot of Solution Explorer and launch.vs.json

但是,如果我尝试运行二进制文件,则会出现一个弹出窗口,上面写着“Object must implement IConvertible”并且二进制文件不会运行。不过,省略 env: {} 时效果很好。我也尝试向 env 添加一些东西,但效果保持不变。使用 currentDir 更改工作目录可以正常工作,所以我假设 launch.vs.json 至少已被读取和使用。

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

【问题讨论】:

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

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


【解决方案1】:

为了使用 CMake 为 VS 2017 设置多个环境变量,请使用 \u0000 作为分隔符。例如,将这些放入您的launch.vs.json 将设置2 个环境变量VAR1=USA 和VAR2=JAPAN

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

【讨论】:

    猜你喜欢
    • 2017-08-06
    • 2011-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-03
    • 1970-01-01
    • 2023-03-11
    • 2014-01-21
    相关资源
    最近更新 更多