3

我正在使用Visual Studio 2017 RC1使用新的「打開文件夾」功能加載CMake項目(C++),並嘗試在啓動時爲二進制文件設置環境變量。如何使用CMake在Visual Studio 2017 RC1中設置環境變量?

由於在使用打開文件夾時沒有解決方案文件,因此使用調試對話的pre-VS-2017方法似乎不適用於此。

我試過到目前爲止:

  • 使用一個簡單的Hello World項目有一個單一的源文件
  • 鼠標右鍵單擊在Solution Explorer中對應的C++文件,選擇「調試和啓動設置
  • 新增env: {}那裏,這應該給了Hello World程序的空環境

Screenshot of Solution Explorer and launch.vs.json

但是,如果我嘗試運行二進制的彈出窗口顯示了該說「對象必須實現IConvertible」和二進制將無法運行。但是,如果省略env: {},它工作正常。我也嘗試添加一些env,但效果保持不變。使用currentDir更改工作目錄工作正常,所以我認爲launch.vs.json至少已被讀取和使用。

由於這方面的文檔看起來很稀疏,我不確定這是否甚至是使用VS 2017 CMake集成時設置環境變量的預期方式。

+0

我又進了一步:顯然它必須是一個字符串,所以 「ENV」:「FOO = BAR」 正在工作。接下來的問題是,如何設置多個環境變量? – user7155

回答

0

爲了使用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" 
    } 
    ] 
} 
相關問題