DLL:导出LIB,修改名字

用VS工具从dll导出lib

VS开发工具提供了两个命令行工具,一个是dumpbin.exe,另一个是lib.exe。利用这两个
工具即可从dll导出其对应的lib。

  1. 在VS命令行工具中执行:

    dumpbin /exports yourdll.dll > yourdll.def 
  2. 编辑yourdll.def文件,使之格式与.def文件格式一致。比如:

    LIBRARY yourdll.dll
    EXPORTS 
    fn1
    fn2
  3. 在命令行执行:

    lib /def:yourdll.def /machine:x64 /out:yourdll.lib

pexports工具

上述第1、2步中,导出的def文件需要修改后才能用来导出lib文件。这两步可以使用pexports一次解决:

pexports yourdll.dll > yourdll.def

pexports生成的def文件已经是标准格式,可以直接用lib工具生成lib文件。

dll库改名

有了上面的方法就可以给dll库改名了,假设想把库the_old_name.dll改为name.dll:

  1. 先用dll导出def:

    pexports the_old_name.dll > name.def
  2. 修改def中LIBRARY后的名称

    LIBRARY the_old_name.dll --> LIBRARY name.dll
  3. 用修改后的def导出新的lib

    lib /def:name.def /machine:x64 /out:name.lib

    用上面的name.lib作为导入库的程序,会以name.dll作为依赖库。再将the_old_name.dll改为name.dll就可以了。

猜你喜欢

转载自www.cnblogs.com/kohlrabi/p/9153238.html
今日推荐