如何静态载入DLL?

panch 2002-09-30 04:10:58
根据书上说的,有两种方法加载DLL。
第一种是LoadLibaray,第二一种是在CBC的"Project"->"Option"->"Advanced Linker"->"Delay load"中加载。

我使用第一种成功了,但使用第二种方法时在编译时出错,错误信息:Delayed Load module xx.dll not found

我的xx.dll和xx.lib都放在和EXE文件同一个目录中啊?为什么会这样呢?请高手指教。
...全文
78 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
panch 2002-09-30
  • 打赏
  • 举报
回复
我已把生成的lib文件加入到project中了,我是否像调用普通函数那样调用lib中的函数呢?
gudufeixiang 2002-09-30
  • 打赏
  • 举报
回复
用implib把.dll生成.dll,然后把.lib加到工程里就行了
szbug 2002-09-30
  • 打赏
  • 举报
回复
用implib把.dll生成.dll,然后把.lib加到工程里就行了。
myok 2002-09-30
  • 打赏
  • 举报
回复
静态加载,可不用LoadLibaray,直接调用。我在Delphi中调用PCPOS.DLL中的
一个ToPos函数如下:
function ToPos(var InStr: PChar):Integer;stdcall;
external 'PCPOS.DLL';
windtransient 2002-09-30
  • 打赏
  • 举报
回复
如果你的DLL不CBC做的,最好先用CBC的工具生成一次LIB,做法是:打开“开始”菜单中的“运行……”,在其中输入“IMPLIB 路径\xx.dll 路径\xx.lib”
dszy 2002-09-30
  • 打赏
  • 举报
回复
你用CB自带的工具 IMPLIB :

在C++ Builder中使用提供的dll需要重建lib库。可使用Builder 5.5中提供的一个工具implib。Implib的具体语法是 implib libname[.lib] srcname[.dll] 可从该工具的帮助中获得更详细的说明。然后将生成的lib添加到您的工程中即可
lingbin 2002-09-30
  • 打赏
  • 举报
回复
不是这样的,你把.lib用project\add to project添加lib到你的工程中,如果有头文件的话,就要用#include包进去就可以了。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧