MS Visual C / C ++的LIB和LIBPATH环境变量有什么区别?

时间:2013-12-10 00:19:22

标签: visual-studio visual-c++ visual-studio-2012

我一直在研究一些构建脚本,这让我烦恼。我想确保我们独立于环境设置,但为了确保这一点,我觉得需要了解工具使用设置的方式/位置。

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的明显事实要多一点。我已经尝试过了,但我还没有找到关于链接器和/或开发环境何时使用它们的明确定义。

1 个答案:

答案 0 :(得分:24)

LIB用于链接器,帮助它找到导入和静态库。

LIBPATH用于编译器,帮助它找到元数据文件。与类型库,.NET程序集,WinRT .winmd文件类似。