替换应用程序DLL动态库的详细方法步骤 (gts.dll为例)

在C++ builder编译器IDE软件下

1、View -Project Manageer --找到需要替换的x.dll(gts.dll)对应的x.lib(gts.lib),然后Remove
2、Project -Remove from project --查找是否dll是否任然存在,如果存在,则Remove
3、1/2两个步骤,任选其一。完成以后,编译程序可以看到类似下面的error
  [Linker Error]Unresolved external "GT_AxisOff" referenced form ...file..path...
    GT_AxisOff 是Remove掉的dll(gts.dll)里面的函数
4、删除 工程文件目录下x.dll 、x.lib、x.h x.h~   
  完成之后编译程序可以看到类似下面的error:E2209
    [C++ Error]motionCtrl_GTS.h(6):E2209 Unable to open include file 'x.h'(gts.h)   ::::::motionCtrl_GTS.h是使用到gts.h的文件
  细心的你会发现 编译出错时,项目文件\DEBUGS\下并不会有exe文件
5、删除 工程文件\DEBUGS\目录下 x.dll  、x.lib (gts.dll、gts.lib)
  完成之后编译程序可以看到和第4步一样的ErrorE2209
6、添加 新的x.dll、 x.lib  x.h 到 工程目录下
  完成之后编译程序可以看到类似下面的errorE2268:
    [c++ Error]motionCtrl_GTS.cpp(48):E2268 Call to Undefined function 'GT_SetAxisAsLaser'
      报错说明:这是因为新的gts.dll 中没有 旧版本gts.dll中函数‘GT_SetAxisAsLaser’接口,所以原本程序中使用这个函数就会报错 (这是替换dll后,进一步的更新工作)
  用心对比 第4步  和   第6步 的操作过程和编译结果
7、添加 新的x.dll 、x.lib 到 工程文件\DEBUGS\目录下
  完成之后编译程序可以看到和第6步一样的errorE2268:
  这个时候,大家注意,第 1步 或者 第2 步我们Remove 后编译报错[Linker Error] ,当我们完成 第6步 和第 7步,还没有把 (..待续..)add to project  ,也并没有报错[Linker Error]
    其实并不是不存在错误[Linker Error],而是编译流程的原因,当编译出第6步的错误时,编译器就没有深一步的编译
    假如,新的gts.dll 完全涵盖了 旧的 gts.dll ,这个时候,我们编译程序 ,便不会产生 第6步的错误, 而是产生 第1步或者 第2步完成之后编译的错误 [Linker Error]
8、Project -Add to Project  --弹出的对话框选择文件类型 ang file(*.*) 在工程文件下找到 gts.lib 点击打开
  完成之后,编译程序,会看到编译成功,没有错误
  我们打开 工程文件\DEBUGS\也可以看到 生成了项目程序的exe文件 ,双击运行 OK,没有任何问题

替换DLL的过程,完整的实现。这是我在亲自一步步操作整理的过程,希望对需要的朋友有帮助。

 

转载于:https://www.cnblogs.com/azbane/p/7493109.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2.1.1 Visual C++ 6.0 中的使用 (1) 启动Visual C++ 6.0,新建一个工程; (2) 将下载的动态链接库压缩包里VC文件夹中的动态链接库、头文件和lib文件复制到工程文件 夹中; 第 2 章 运动控制器函数库的使用 15 © 1999-2019 固高科技版权所有 (3) 选择“Project”菜单下的“Settings…”菜单项; (4) 切换到“Link”标签页,在“Object\library modules”栏中输入lib文件名,例如gts.lib; (5) 在应用程序文件中加入函数库头文件的声明,例如:#include “gts.h”; 至此,用户就可以在Visual C++中调用函数库中的任何函数,开始编写应用程序。 对于步骤(4),还有一种比较简便的方法,那就是在应用程序文件里面添加包含链接文件的声 明,例如:#pragma comment ( lib,"gts.lib" ) 。 上述关于Visual C++ 6.0调用GTS库函数的方法同样适用于使用Visual Studio平台开发。 2.1.2 Visual Basic 6.0 中的使用 (1) 启动Visual Basic,新建一个工程; (2) 将下载的动态链接库压缩包里VB6.0文件夹中的动态链接库和函数声明文件复制到工程文 件夹中; (3) 选择“工程”菜单下的“添加模块”菜单项; (4) 切换到“现存”标签页,选择函数声明文件,例如gts.bas,将其添加到工程当中; 至此,用户就可以在Visual Basic中调用函数库中的任何函数,开始编写应用程序。 2.1.3 Delphi 中的使用 (1) 启动Delphi,新建一个工程; (2) 将下载的动态链接库压缩包里Delphi文件夹中的动态链接库和函数声明文件复制到工程文 件夹中; (3) 选择“Project”菜单下的“Add to Project…”菜单项; (4) 将函数声明文件添加到工程当中; (5) 在代码编辑窗口中,切换到用户的单元文件; (6) 选择“File”菜单下的“Use Unit…”菜单项,添加对函数声明文件的引用; 至此,用户就可以在Delphi中调用函数库中的任何函数,开始编写应用程序。 2.1.4 VB.NET 中的使用 (1) 启动Visual Studio,按照“File”->"New",选择建立VB工程; (2) 将下载的动态链接库压缩包里VB.NET文件夹中的动态链接库和函数声明文件复制到工程 文件夹中,注意:gts.dll应复制到"..\bin"文件夹中的debug或者release文件夹中; (3) 选择“project”菜单下的“Add existing Item”菜单项,选择函数声明文件,如gts.vb,将其添加 到工程当中; 至此,用户就可以在Visual Studio中使用VB.NET模块调用函数库中的任何函数,开始编写应用 程序。 第 2 章 运动控制器函数库的使用 16 © 1999-2019 固高科技版权所有 2.1.5 Visual C#中的使用 (1) 启动Visual Studio,按照“File”->"New",选择建立C#工程; (2) 将下载的动态链接库压缩包里C#文件夹中的动态链接库和函数声明文件复制到工程文件夹 中,注意:gts.dll应复制到"..\bin"文件夹中的debug或者release文件夹中; (3) 选择“project”菜单下的“Add existing Item”菜单项,选择函数声明文件,如gts.cs,将其添加 到工程当中; 至此,用户就可以在Visual Studio中使用C#模块调用函数库中的任何函数,开始编写应用程序
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值