如何生成动态库 .dll 的符号 .lib 文件?
在知道拥有动态库和头文件的情况下,但没有动态库符号文件的情况下,如何静态链接动态库?
1.使用 Microsoft Visual Studio Tools 命令行命令生成 xxx.def 文件,进而使用 xxx.def 文件生成 xxx.lib 文件。
例子:
打开命令提示符
它可以在Visual Studio工具菜单项中找到:开始/程序文件/ Microsoft Visual Studio / Visual Studio工具/ Visual Studio命令提示符。
提取符号
在命令提示符下键入:
dumpbin / exports“C:\ Program Files \ VideoLAN \ VLC \ libvlc.dll”>“C:\ Program Files \ VideoLAN \ VLC \ libvlc.def”
编辑libvlc.def文件并修改它以获得如下内容:
EXPORTS
libvlc_add_intf
libvlc_audio_get_channel
libvlc_audio_get_mute
libvlc_audio_get_track
libvlc_audio_get_track_count
libvlc_audio_get_track_description
libvlc_audio_get_volume
...
或者,以下命令将自动生成DEF文件:
echo EXPORTS> libvlc.def
for / f“usebackq tokens = 4,* delims = _”%i in(`dumpbin / exports“c:\ Program Files \ VideoLan \ VLC \ libvlc.dll”`)如果%i = = = libvlc echo%i_%j >> libvlc.def
生成.lib
仍在命令提示符下键入:
lib / def:“C:\ Program Files \ VideoLAN \ VLC \ libvlc.def”/ out:“C:\ Program Files \ VideoLAN \ VLC \ libvlc.lib”/ machine:x86
当然,您需要根据您的配置调整路径。
瞧瞧!你拥有它,现在你可以在你的程序中链接libvlc.lib
如何生成动态库 .dll 的符号 .lib 文件?的更多相关文章
- 使用命令行生成动态库dll
1.安装开发工具,比如visual studio或者mingw等等.下面以visual studio编译器cl作为讲解. 2.导出dll中的函数基本使用两种方式,可以使用关键字__declspec(d ...
- Qt中添加静态库.lb,.a和动态库.dll,.so,头文件和.cpp文件
添加步骤 1.-Qt Creator中,"项目"------"添加库"2.把静态库和动态库文件放到项目文件夹中3.在.pro文件中会添加如下代码: - 添加动态 ...
- 动态库dll使用module.def文件导出函数(像静态库一样使用)
1.新建文件module.def. 2.动态库工程上右键->属性->链接器->输入->模块定义文件编辑它写入module.def 3.下面为module.def实例(smart ...
- C/C++ 关于生成静态库(lib)/动态库(dll)文件如何使用(基于windows基础篇)
1. 首先,如何制作一个静态库(lib)? 额, 对于静态库,我们知道,里头是不应该有Main函数,它只是一个配合文件.之所以称之为lib静态库,其实就是指,我们需要用到lib里头的函数时,我们才会去 ...
- Qt生成和调用动态库dll,和静态库.a(windows和linux通用)
系统1:ThinkPad T570.Windows10.QT5.12.2(Qt Creater 4.8.2)一.动态库.dll的创建和调用1.在qtcreater中按如下步骤创建动态库,动态库名为my ...
- C++与C#有关对库(动态库dll,静态库.lib)文件的调用
1 动态库的相互调用 1.1 C#调用C++ dll步骤(只能导出方法): 1. c++建立空项目->源文件文件夹中添加cpp文件和函数 2. c++属性设置中,配置类型设置为动态库dll,公共 ...
- 如何使用 VS生成动态库?
如何使用 VS生成动态库? //.cpp 文件默认定义了 __cplusplus 宏 #ifdef __cplusplus extern "C"{ #endif xxx #ifde ...
- Qt编写自定义控件插件开放动态库dll使用(永久免费)
这套控件陆陆续续完善了四年多,目前共133个控件,除了十几个控件参考网友开源的代码写的,其余全部原创,在发布之初就有打算将动态库开放出来永久免费使用,在控件比较完善的今天抽了半天时间编译了多个qt版本 ...
- qt使用动态库(DLL)
本文主要讲解在QT开发环境中如何使用VC生成的DLL及QT自身生成的DLL.至于其它情况本文不作讨论. 连接库分为2种 (1)动态连接库,通常有.h .lib .dll三个文件,功能实现在dll中 ( ...
随机推荐
- mfs挂载
安装客户端,客户端安装见官网 记住mfs需要dns或者修改hosts文件,实现主机名和ip对应 在mfsmaster修改mfsexports.cfg 修改挂载参数,根须需要 10.0.67.0/24 ...
- java基础入门-多线程同步浅析-以银行转账为样例
在说之前先普及一下线程是什么? 线程:说白了就是一个任务片段 进程:是一个具有独立功能的程序关于某个数据集合的一次执行活动.一个进程有一个或者多个线程 线程与进程的本质差别就是有么有数据共享空间.线程 ...
- Hive 作业优化
1.Join原则将条目少的表/子查询放在 Join的左边. 原因是在 Join 操作的 Reduce 阶段,位于 Join左边的表的内容会被加载进内存,将条目少的表放在左边,可以有效减少发生内存溢出的 ...
- iOS_绘制带删除线的Label
效果图例如以下: 一个带删除线的文本标签,继承自UILabel 自绘代码过程例如以下: 1,重写控件的drawRect方法 2,首先得到上下文对象 3,设置颜色,并指定是填充(Fill)模式还是笔刷( ...
- css之常用属性
背景属性: background-attachment 设置背景图像是否固定或者随着页面的其余部分滚动 值: scroll 默认值.背景图像会随着页面其余部分的滚动而移动. fixed 当页面的其余部 ...
- wb标准
1. WEB标准 WEB标准不是某一个标准,而是一系列标准的集合.网页主要由三部分组成:结构(Structure).表现(Presentation)和行为(Behavior).对应的标准也分三方面:结 ...
- CS项目总结
最近做了近一年的CS项目终于接近完工了,有一种脱离苦海,跳出泥潭的感觉.虽然此项目做的很不理想,但它却给了我颇多感受,许多经验教训值得总结. 1.总的技术解决方案大方向上选择的不合适,导致后期对新的需 ...
- Blackey win10 + python3.6 + VSCode + tensorflow-gpu + keras + cuda8 + cuDN6N环境配置(转载)
win10 + python3.6 + VSCode + tensorflow-gpu + keras + cuda8 + cuDN6N环境配置 写在前面的话: 再弄这个之前,我对python也好 ...
- ZOJ 3963 Heap Partition set维护。给一个序列,将其划分成尽量少的序列,使每一个序列满足按照顺序构造二叉树,父母的值<=孩子的值。
Heap Partition Time Limit: Seconds Memory Limit: KB Special Judge A sequence S = {s1, s2, ..., sn} i ...
- Style Lessons in Clarity and Grace (11th Edition)中文翻译
Joseph, Williams. "Style: Lessons in Clarity and Grace." Pearson Schweiz Ag (2014). 下载地址:h ...