DLL怎么加载DLL的lib库,比如curl

科比布莱恩特 2012-12-10 04:28:43
我用纯C++在win32上写了一个win32的DLL,但是DLL中需要用到第三方的库,比如curl,它是需要lib文件的,我把lib文件编译进去用了它的函数后,我的DLL被应用程序加载时就找不到入口了,成了一个无用的DLL,请问怎么使DLL能包含到第三方的lib库并使用其DLL文件?谢了,兄弟们。
...全文
180 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
BeanJoy 2012-12-11
  • 打赏
  • 举报
回复
引用你另一帖子我的回复:
引用
如果你能把你遇到的问题以及解答附上,会有更多兄弟感激你的。
BeanJoy 2012-12-10
  • 打赏
  • 举报
回复
引用 6 楼 liulcsy 的回复:
引用 5 楼 BeanJoy 的回复:引用 4 楼 liulcsy 的回复:引用 3 楼 BeanJoy 的回复:引用 2 楼 liulcsy 的回复:引用 1 楼 BeanJoy 的回复:用lib编译,那你的dll就是静态调用第三方dll,因此,你的dll发布时,必须连同第三方dll一库发布。 把第三方的dll放在你的dll同一目录或path中。 我放置了。现在……
Depends怎么说?
科比布莱恩特 2012-12-10
  • 打赏
  • 举报
回复
引用 5 楼 BeanJoy 的回复:
引用 4 楼 liulcsy 的回复:引用 3 楼 BeanJoy 的回复:引用 2 楼 liulcsy 的回复:引用 1 楼 BeanJoy 的回复:用lib编译,那你的dll就是静态调用第三方dll,因此,你的dll发布时,必须连同第三方dll一库发布。 把第三方的dll放在你的dll同一目录或path中。 我放置了。现在的问题是curl kkk;这可以声明,……
都扔到和我的DLL一个目录中去了,libcur包含的所有的DLL都扔过去了
BeanJoy 2012-12-10
  • 打赏
  • 举报
回复
引用 4 楼 liulcsy 的回复:
引用 3 楼 BeanJoy 的回复:引用 2 楼 liulcsy 的回复:引用 1 楼 BeanJoy 的回复:用lib编译,那你的dll就是静态调用第三方dll,因此,你的dll发布时,必须连同第三方dll一库发布。 把第三方的dll放在你的dll同一目录或path中。 我放置了。现在的问题是curl kkk;这可以声明,一使用curl库libcur.dll里……
是否没有找到相应的curl库?
科比布莱恩特 2012-12-10
  • 打赏
  • 举报
回复
引用 3 楼 BeanJoy 的回复:
引用 2 楼 liulcsy 的回复:引用 1 楼 BeanJoy 的回复:用lib编译,那你的dll就是静态调用第三方dll,因此,你的dll发布时,必须连同第三方dll一库发布。 把第三方的dll放在你的dll同一目录或path中。 我放置了。现在的问题是curl kkk;这可以声明,一使用curl库libcur.dll里面的函数时就会加载不上我的这个DLL,……
编译过了。 我的DLL里面使用了curl的函数就会让我这个DLL变成废物,比如应用程序LoadLibrary我这个DLL时HMODULE显示为没有地址,unused=???,即没加载到。不在程序里面写关于curl库里的任何函数我的DLL都可以被LoadLibrary.
BeanJoy 2012-12-10
  • 打赏
  • 举报
回复
引用 2 楼 liulcsy 的回复:
引用 1 楼 BeanJoy 的回复:用lib编译,那你的dll就是静态调用第三方dll,因此,你的dll发布时,必须连同第三方dll一库发布。 把第三方的dll放在你的dll同一目录或path中。 我放置了。现在的问题是curl kkk;这可以声明,一使用curl库libcur.dll里面的函数时就会加载不上我的这个DLL,所以现在我在想是不是我的DLL中引入了……
真没明白你的意思。 静态调用dll,是需要.h和.lib文件的,你编译过了吗? 运行的时候,才需要第三方dll。 “一使用curl库libcur.dll里面的函数时就会加载不上我的这个DLL”这是什么意思?你的dll不是使用第三方的dll吗?既然你的dll都加载不了,怎么又用curl库? 用Depends工具打开你的dll,看看有其依附的dll有没有未找到或版本不对的。这个工具VC、VS目录里都有。
科比布莱恩特 2012-12-10
  • 打赏
  • 举报
回复
引用 1 楼 BeanJoy 的回复:
用lib编译,那你的dll就是静态调用第三方dll,因此,你的dll发布时,必须连同第三方dll一库发布。 把第三方的dll放在你的dll同一目录或path中。
我放置了。现在的问题是curl kkk;这可以声明,一使用curl库libcur.dll里面的函数时就会加载不上我的这个DLL,所以现在我在想是不是我的DLL中引入了curl的lib文件调它的libcur.dll时,不兼容。!!
BeanJoy 2012-12-10
  • 打赏
  • 举报
回复
用lib编译,那你的dll就是静态调用第三方dll,因此,你的dll发布时,必须连同第三方dll一库发布。 把第三方的dll放在你的dll同一目录或path中。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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