Q:从动态链接库DLL文件导出LIB文件
详情:
在Windows开发sqlite相关程序时,自己编译SQLite源码以生成dll或lib还是比较麻烦的,所以直接下载sqlite-dll-******.zip。这个包解压出来只包含sqlite3.dll和sqlite3.def两个文件,没有lib文件。
常见的还有libcurl库含有.a文件,没有lib文件。
解决:
使用Virsual Studio自带工具dumpbin.exe和lib.exe进行处理即可得到lib文件。步骤如下:
1,首先检查dump.exe所在目录是否在计算机的【环境变量/Path】里面。
dumpbin.exe的目录在Virsual Studio目录\VC\bin,如 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
如果没有,则添加到Path中,因为lib.exe也是在这个目录下。
2,打开cmd,切换目录到 dll文件所在的目录
3,使用dumpbin导出符号定义文件def文件:
命令格式:dumpbin /exports DLL文件名.dll > 输出符号定义文件.def
比如:dumpbin /exports sqlite3.dll >sql