這是一些從Qt中獲取環境變量的代碼,但是,似乎Qt的QProcessEnvironment::systemEnvironment()
僅在重新引導後反映了新的環境變量更改。所以我想使用getenv。 不過我"error C2220: warning treated as error - no 'object' file generated"
從這個:C++ no'object'file generated
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
const QString ENGINE_ROOT = env.value("ENGINE_ROOT", "") != "" ?
env.value("ENGINE_ROOT","") : QString(getenv("ENGINE_ROOT"));
不要告訴我,像禁用/ WX或更低W4到W3,我不想聽到這個,我想知道到底是什麼原因
不生成'object'文件
。
那是什麼觸發了C2220錯誤你實際上得到了警告,?您的編譯器設置爲將警告視爲錯誤,並且錯誤會導致編譯器不生成輸出對象文件。爲了避免該錯誤,您需要修復警告。 –
此外,您的原始問題「僅在重啓後反映新的環境變量更改」可能會通過簡單地重新打開命令提示符窗口(或打開一個新窗口)來解決。命令提示符窗口繼承的環境變量是在打開時有效的環境變量。 (或者,任何*進程繼承的環境變量,包括你的IDE) –
我不是在說cmd.exe裏面這樣做,如果你重新打開另一個cmd.exe,那麼當然你會看到它反映了新的環境變量。我正在討論Qt中的檢索環境變量,它似乎無法在運行中反應出新的變化。 –