Переменные среды MSVC не отображаются в разных терминалах

Я использую HXCPP Haxe для генерации кода C++ и его компиляции с помощью Microsoft Visual Studio 2010 Express Edition. Я следую этому руководству, и он просит вас бежать "c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\vsvars32.bat" чтобы cl.exe (компилятор) находится в вашем пути сборки.

Это позволяет мне запускать cl.exe, но только в этом терминале. Это терпит неудачу, если я пытаюсь запустить его из другого терминала или в моей IDE (Sublime Text 2).

Я нашел обходной путь: вручную скопировать + вставить значения переменных из терминала в редактор переменных среды GUI.

Должен быть лучший способ. Что мне не хватает?

build.hxml

-main Test
-cpp bin

Test.hx

class Test {
    static function main() {
        trace("Hello World!");
    }
}

Сообщение об ошибке при сборке

link.exe -out:Test.exe -nologo -machine:x86 -libpath:lib user32.lib -libpath:e:/VS8/PlatformSDK/Lib @all_objs
LINK : fatal error LNK1181: cannot open input file 'user32.lib'
Called from ? line 1
Called from BuildTool.hx line 1246
Called from BuildTool.hx line 554
Called from BuildTool.hx line 591
Called from BuildTool.hx line 710
Called from BuildTool.hx line 796
Called from BuildTool.hx line 285

1 ответ

Вы должны выполнить следующую команду для каждого открытого терминала (среды):

c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\vsvars32.bat

Все переменные среды, которые он определяет, являются локальными.

Другие вопросы по тегам