[转载]ptlib 中MergeSym

ptlib 中MergeSym
ptlib 中MergeSym
1:MergeSym的作用似乎是将静态库(static lib)转换成def

2:MergeSym项目依赖OPAL_Static; 假如OPAL_Static依赖了其他DLL注意在MergeSym项目的生成后事件中COPY该DLL到MergeSym的生成目录;
3:MergeSym的命令行格式:


MergeSym [ -v ] [ -s ] [ -d dumpbin ] [ -x deffile[.def] ] [-I libfilepath ] libfile[.lib] [ deffile[.def] [ outfile[.def] ] ]


example:

-I C:/Program Files/Microsoft Visual Studio 8/VC/lib;C:/Program Files/Microsoft Visual Studio 8/VC/atlmfc/lib;C:/Program Files/Microsoft Visual Studio 8/VC/atlmfc/lib/i386;C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/lib;C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/lib;C:/Program Files/Microsoft Visual Studio 8/;C:/Program Files/Microsoft Visual Studio 8/lib -x Debug/ptlibd.def -x e:/323/opal/src/win32//Private.def ./../../lib/opalsd.lib e:/323/opal/src/win32/opald_2005.dtf ./../../lib/Debug/opald.def

-I :表示的是LIB的默认路径  可能./../../lib/opalsd.lib 的依赖LIB到以上的目录中找到加载;
-x :输入的DEF文件
libfile[.lib]:需要分割的STATIC LIB
[ deffile[.def] [ outfile[.def] ] ]输出的DEF

4:大概的步骤:
(1)用DUMPBIN+/symbols  + lib_filename 将STATIC LIB文件用DUMPBIN+/symbols 命令导出symbols信息到临时的SYM文件
(2)从SYM文件中提取Symbol与输入的DEF文件比较,采取添加或者移除 从而生成新的DEF文件;

有了新的DEF就可以生成DLL 和 LIB 了参见PTlib_DLL和OPAL_DLL项目 只有DllMain(HANDLE hinstDLL, DWORD fdwReason, LPVOID)函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值