Qual é a diferença entre as variáveis ​​de ambiente LIB e LIBPATH para o MS Visual C / C ++?

Eu tenho trabalhado em alguns scripts de construção, e isso está me incomodando. Quero ter certeza de que somos independentes das configurações do ambiente, mas para ter certeza disso, sinto a necessidade de entender como / onde as configurações são usadas pelas ferramentas.

O prompt de comandos do Visual Studio e / ou o arquivo vcvarsall.bat configuram duas variáveis ​​de ambiente distintas: LIB e LIBPATH. Os valores são diferentes, mas parcialmente sobrepostos. Aqui estão os valores do meu sistema:

LIB=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\LIB;C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\ATLMFC\LIB;C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x86;

LIBPATH=C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Windows\Microsoft.NET\Framework\v3.5;C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\LIB;C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\ATLMFC\LIB;C:\Program Files (x86)\Windows Kits\8.0\References\CommonConfiguration\Neutral;\Microsoft.VCLibs\11.0\References\CommonConfiguration\neutral;

Eu gostaria apenas de entender a razão para ter duas variáveis ​​diferentes - um pouco mais do que o fato óbvio de que o LIBPATH traz mais libs. Eu tentei pesquisar, mas não encontrei uma definição clara de quando cada um é usado pelo vinculador e / ou pelo ambiente de desenvolvimento.

questionAnswers(1)

yourAnswerToTheQuestion