Jaka jest różnica między zmiennymi środowiskowymi LIB i LIBPATH dla MS Visual C / C ++?

Pracowałem nad niektórymi skryptami kompilacji i to mnie wkurza. Chcę mieć pewność, że jesteśmy niezależni od ustawień środowiska, ale aby mieć pewność, że muszę zrozumieć, jak / gdzie ustawienia są używane przez narzędzia.

Wiersz polecenia Visual Studio i / lub plik vcvarsall.bat ustawiają dwie różne zmienne środowiskowe: LIB i LIBPATH. Wartości są różne, ale częściowo zachodzą na siebie. Oto wartości z mojego systemu:

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;

Chciałbym po prostu zrozumieć uzasadnienie posiadania dwóch różnych zmiennych - trochę więcej niż oczywisty fakt, że LIBPATH przynosi więcej bibliotek. Próbowałem go sprawdzić, ale nie znalazłem jasnej definicji, kiedy każdy jest używany przez linker i / lub środowisko dev.

questionAnswers(1)

yourAnswerToTheQuestion