栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++由动态库dll文件生成lib文件的方法

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++由动态库dll文件生成lib文件的方法

在msvc中,对于动态库的使用,通常有两种方法,一种方法是动态加载,在程序运行过程中,使用LoadLibrary()、GetProcessAddress()和FreeLibrary()三个函数动态的对动态库进行加载和卸载,此方法在编译运行时只需要dll文件的支持即可
另一种方法是静态加载,静态加载不仅需要dll文件,在程序编译时也需要dll文件对应的lib文件,这个lib文件会记录动态库名称与函数入口,使程序开始运行时能够正确的对动态库文件进行载入并使用。
但是很多动态库dll文件,并没有附带lib文件,因此就无法以静态加载的方式去使用。但是此问题也是有解决办法的,就是从dll文件去生成一个lib文件。
下面就介绍如何将dll文件去生成对应的lib文件

1.生成def文件

需要用到一个工具:pexports
将下载的pexports解压,得到pexport.exe,将pexport.exe拷贝到动态库所在目录,打开cmd,切换到此目录
输入

pexport.exe libvlc.dll > libvlc.def

这样就能够将libvlc.dll这个动态库文件生成libvlc.def文件了

2.生成lib文件

在开始,程序菜单中,找到msvc命令提示工具并打开,切换到动态库所在目录
输入

lib /def:libvlc.def /MACHINE:x86

正在创建

Microsoft (R) Library Manager Version 8.00.50727.42
Copyright (C) Microsoft Corporation.  All rights reserved.

   正在创建库 libvlc.lib 和对象 libvlc.exp

之后就可以得到libvlc.exp、libvlc.lib这两个文件了,libvlc.lib就是我们要的动态库libvlc.dll对应的lib文件


相关下载:
pexports-0.47-mingw32-bin.7z

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/920848.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号