我知道.lib是静态库链接,.dll是动态的.这意味着当生成.exe时,.lib不需要在.exe之间工作.但是,.dll需要放在.exe引用和运行的正确相对路径中.
我的问题是.lib.将源代码上传到Github时,我是否也在项目文件夹中包含.lib文件?这样做的最佳做法是什么?
大多数显示如何安装库的教程使我们将.lib文件链接到其原始文件夹,并将.dll文件移动到工作项目文件夹中.那么我应该将.lib文件移动到我的项目文件夹中吗?如果我不这样做,这意味着下载我的源代码的人必须找到相应的.lib文件进行链接和编译吗?
我自己的"恕我直言"答案是:"GitHub关注源代码." 因此,我不建议在.lib那里包含二进制文件.而且,我可能也不会在.dll那里放一个二进制文件.
澄清两个文件之间的区别......
甲.lib文件是对象的代码库,从以前的编译,其现在可以通过接头被引用所得.链接器将选择它需要的任何内容,然后将这些项目从库中复制到当时可能正在构建的任何内容中.
A .dll是动态库......"动态",即应用程序(以及其他DLL ...)可以加载它并在运行时卸载它.(Windows程序启动程序还会自动加载任何正在启动的任何内容直接或间接引用的DLL.)
.dll是"全有或全无".您在运行时完整加载它们. .lib相反,它是真正的库,仅由链接器使用.
=== 编辑:而接下来的回答,恕我直言,"钉它."