저는 일부 빌드 스크립트를 작성해 왔으며, 이로 인해 저를 괴롭 히고 있습니다. 우리가 환경 설정과 무관한지 확인하고 싶지만 그 점을 확신하기 위해 도구에서 설정을 사용하는 방법과 위치를 이해해야합니다.MS Visual C/C++의 LIB와 LIBPATH 환경 변수의 차이점은 무엇입니까?
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와에 가져다주는 명백한 사실보다 조금 더. 나는 그것을 찾으려고 노력했지만 각각 링커 및/또는 개발 환경에서 언제 사용되는지에 대한 명확한 정의를 찾지 못했습니다.
아직/LIBPATH는 환경을 대체하는 링커 명령 행에 대한 옵션입니다. 아하! ... 나는 그것을 지금 본다. Doc는/LIBPATH가 LIB 환경 변수가 아닌 LIB 환경 변수를 겹쳐 씁니다. 그것은 단지 (나쁜) 우연의 일치입니다. 감사. –