Skip to main content
 首页 » 编程设计

visual-studio之MS Visual C/C++ 的 LIB 和 LIBPATH 环境变量有什么区别

2025年01月19日16kenshinobiy

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

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用于链接器,帮助它找到导入和静态库。
LIBPATH用于编译器,帮助它查找元数据文件。像类型库、.NET 程序集、WinRT .winmd 文件。