我一直在研究一些构建脚本,这让我烦恼。我想确保我们独立于环境设置,但为了确保这一点,我觉得需要了解工具使用设置的方式/位置。
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带来更多lib的明显事实要多一点。我已经尝试过了,但我还没有找到关于链接器和/或开发环境何时使用它们的明确定义。
答案 0 :(得分:24)
LIB
用于链接器,帮助它找到导入和静态库。
LIBPATH
用于编译器,帮助它找到元数据文件。与类型库,.NET程序集,WinRT .winmd文件类似。