Configurar variáveis de ambiente no cmd não tem efeito [duplicado]

1

Estou tentando configurar caminhos para as ferramentas do VS executá-las na linha de comando, conforme o link

Eu corro vcvarsall x64 do prompt de comando elevado e verifico o conteúdo da variável INCLUDE :

Emseguida,fechoopromptdecomando,abronovamenteeverificoavariávelINCLUDE:

Como você pode ver, as alterações foram perdidas quando fechei o CMD. Como posso garantir que eles cheguem ao ambiente do sistema?

Estou usando o Win 8.1, se isso for importante.

    
por riv 26.01.2016 / 22:39

2 respostas

1

É porque os arquivos em lotes que ele executa estão usando Set para definir as variáveis de ambiente ( C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\vcvars64.bat é o que é executado quando você executa vcvarsall x64 ).

Mas Set apenas define variáveis para a sessão da linha de comando atual. Você precisa usar Setx para que ele "fique" entre as sessões de linha de comando.

Para mais informações, verifique essas outras perguntas e respostas:

Editar após comentários:

"But the set commands were in the default script"

O VCVarsAll deve ser executado para configurar o ambiente para a única construção / ação que você está prestes a executar, não para defini-los permanentemente.

O Visual Studio instala entradas específicas de "prompt de comando" para acessar as ferramentas (em seu link: "... e escolha um dos prompts de comando da ferramenta nativa ou da ferramenta cruzada.") e os atalhos de prompt de comando especiais executar um / o arquivo em lotes para garantir que as coisas estão corretas quando você usa esses atalhos.

Você pode replicar esses atalhos com seus próprios ...

Crie um novo atalho para cmd /k "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x64 , que executará o arquivo em lote (usando x64 como a opção de ambiente) e mantenha a janela da linha de comando aberta.

Em seguida, use esse atalho para abrir o prompt de comando quando quiser usar as ferramentas.

    
por 26.01.2016 / 22:51
0

Sim, você pode extrair o ambiente para o arquivo:

cmd /C "C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\VC\Auxiliary\Build\vcvars64.bat" && set > d:\t.txt

Depois, você pode incluir este arquivo no makefile diretamente ou usar outra opção que atenda às suas necessidades.

    
por 20.08.2018 / 13:59