В чем разница между переменными среды LIB и LIBPATH для MS Visual C / C ++?

Я работал над некоторыми сценариями сборки, и это меня беспокоит. Я хочу быть уверен, что мы не зависимы от настроек среды, но для этого я чувствую необходимость понять, как / где настройки используются инструментами.

В командной строке Visual Studio и / или файле vcvarsall.bat установлены две различные переменные среды: LIB и LIBPATH. Значения разные, но частично совпадают. Вот значения из моей системы:

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;

Я просто хотел бы понять обоснование наличия двух разных переменных - немного больше, чем очевидный факт, что LIBPATH приносит больше библиотек. Я пытался, ища это, но я не нашел четкого определения того, когда каждый из них используется компоновщиком и / или средой разработки.

Ответы на вопрос(1)

Ваш ответ на вопрос