我正在学习C++并且遇到了链接器显然使用的那些*.lib文件.我不得不为OpenGL设置一些额外的依赖项.
或者它们只是与*.obj文件类似的可重定位对象代码?
简单来说,是的.lib文件只是.obj文件的集合.
在Windows上有一个轻微的复杂性,你可以有两类lib文件.
静态lib文件基本上包含.obj的集合,并与您的程序链接以提供.lib中的所有函数.它们主要是为了节省您需要处理的文件数量的便利.
还有stub .lib,它只提供.dll文件中包含的函数的定义..lib文件在编译时用于告诉编译器对函数的期望,但代码是在运行时从dll加载的.