Я работаю над некоторыми скриптами сборки, и это меня подтачивает. Я хочу быть уверенным, что мы независимы от настроек среды, но для того, чтобы быть уверенным в этом, я чувствую необходимость понять, как/где параметры используются инструментами.
Командная строка 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 приносит больше libs. Я попытался найти его, но я не нашел четкого определения, когда каждый из них используется компоновщиком и/или средой dev.