¿Cuál es la diferencia entre las variables de entorno LIB y LIBPATH para MS Visual C / C ++?

He estado trabajando en algunos scripts de compilación, y esto me está molestando. Quiero asegurarme de que somos independientes de la configuración del entorno, pero para asegurarme de ello, siento la necesidad de comprender cómo y dónde se utilizan las herramientas mediante la configuración.

El símbolo del sistema de Visual Studio y / o el archivo vcvarsall.bat configuran dos variables de entorno distintas: LIB y LIBPATH. Los valores son diferentes, pero se superponen parcialmente. Aquí están los valores de mi 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;

Simplemente me gustaría entender la razón de tener dos variables diferentes, un poco más que el hecho obvio de que LIBPATH trae más libs. He intentado buscarlo, pero no he encontrado una definición clara de cuándo cada uno es utilizado por el enlazador y / o el entorno dev.

Respuestas a la pregunta(1)

Su respuesta a la pregunta