我已经在我的电脑上用dll和.lib文件构建了VTK。当我想创建一个使用VTK的项目时,我需要在项目属性中包含头文件并链接.lib文件。此外,我还必须将.dll文件添加到项目路径中。我有几个问题:
- .libs和.dll文件之间有什么区别?
- 是否可能只使用.dll或.lib文件创建项目。(我可以链接.lib文件而不添加dlls到路径或添加dlls到路径而不链接.lib文件)?
如果能够得到任何解释,我将不胜感激。谢谢。
我已经在我的电脑上用dll和.lib文件构建了VTK。当我想创建一个使用VTK的项目时,我需要在项目属性中包含头文件并链接.lib文件。此外,我还必须将.dll文件添加到项目路径中。我有几个问题:
如果能够得到任何解释,我将不胜感激。谢谢。
.lib文件用于链接器解析导入项。.dll文件包含在运行时动态加载的代码。
如果您有一个静态库,它包含了所有所需的代码,没有.dll文件。如果您有一个.dll文件,则还需要相应的.lib文件以正确链接。
.lib文件仅在编译期间由连接器使用。而.dll文件在执行期间由编译后的exe文件使用。换句话说,当你编译程序之后,就不再需要.lib文件了。在打包软件以进行分发时,您只需使用.exe、.dll和未打包到您的exe中的任何资源即可。