Was ist der Unterschied zwischen den Umgebungsvariablen LIB und LIBPATH für MS Visual C / C ++?

Ich habe an einigen Build-Skripten gearbeitet und das nervt mich. Ich möchte sichergehen, dass wir unabhängig von den Umgebungseinstellungen sind, aber um sicherzugehen, muss ich verstehen, wie / wo die Einstellungen von den Tools verwendet werden.

Die Visual Studio-Eingabeaufforderung und / oder die Datei vcvarsall.bat haben zwei unterschiedliche Umgebungsvariablen eingerichtet: LIB und LIBPATH. Die Werte sind unterschiedlich, aber teilweise überlappend. Hier sind die Werte aus meinem System:

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;

Ich möchte nur verstehen, warum es zwei verschiedene Variablen gibt - etwas mehr als die offensichtliche Tatsache, dass LIBPATH mehr Libs einbringt. Ich habe versucht, es nachzuschlagen, aber ich habe keine klare Definition gefunden, wann die einzelnen Elemente vom Linker und / oder der Entwicklungsumgebung verwendet werden.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage