DLL相互导入

      DLL相互导入的问题参见http://msdn.microsoft.com/zh-cn/library/fdy23fx6.aspx,以下为VS2010中的解决方法。 

一、设置DllA项目的属性
  1.常规-->配置类型->静态库(.lib)
  2.库管理器-->命令行-->其他选项-->/DEF(以便生成DllA.exp)

 
二、设置DllB项目的属性
  1.常规-->配置类型->动态库(.dll)
  2.自定义生成步骤-->命令行-->

      Link.exe /ERRORREPORT:PROMPT ^
      /OUT:$(OutDir)\DllA.dll /NOLOGO ^
      /LIBPATH:$(OutDir) /DEBUG ^
      /SUBSYSTEM:WINDOWS /TLBID:1 /DYNAMICBASE /NXCOMPAT ^
      /MACHINE:X86 /DLL ^
      $(OutDir)\DllA.exp ^
      $(OutDir)\DllB.lib ^
      $(SolutionDir)DllA\Debug\DllA.obj ^
      $(SolutionDir)DllA\Debug\dllmain.obj ^
      $(SolutionDir)DllA\Debug\stdafx.obj

     自定义生成步骤-->说明-->生成 DllA.dll
     自定义生成步骤-->输出-->DllA.dll
     自定义生成步骤-->在以下操作之后执行-->FinalizeBuildStatus


三、生成解决方案
  1. Lib.exe DllA.obj /DEF                       --> DllA.lib, DllA.exp
  2. Link.exe DllB.obj DllA.lib                 --> DllB.lib, DllB.exp, DllB.dll
      Link.exe DllA.exp DllB.lib                --> DllA.dll
  3. Link.exe main.obj DllA.lib DllB.lib   --> main.exe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值