有关dll和合作开发

mashinas 2018-02-25 09:01:26
首先本人0 dll 开发经验
我在vs2013上用C++和opencv写了一个小项目,项目里写了一个小函数,想编译成dll给另外一个qt开发的人调用这个函数,我把编译后的dll和lib和项目的头文件再加上所有opencv的dll(因为我不知道我用的函数,类都是来自于哪个dll,索性全给他)放一个文件夹里拷给他可以吗?
另外一个人写qt的时候是导入我这个头文件,loadlibrary调用我写的这个函数这样使用吗,那这个lib还需要拷过去吗?另外一个人的代码能搜索到这些头文件,dll吗
...全文
478 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gspUser 2018-03-06
  • 打赏
  • 举报
回复
你导出的函数用标准C类型就好了,输入输出这些用变量数组这些,要用结构体的话就另外定义一个结构体,这样编译好的dll,在QT调用的时候是不需要这些opencv/core.h文件的,就需要你的dll和OpenCV的dll
mashinas 2018-03-05
  • 打赏
  • 举报
回复
那我写的头文件怎么办,我给别人的头文件调用了opencv/core.h等等的,no such file该怎么办, 需要把这些用到的头文件也导过来
Saleayas 2018-03-01
  • 打赏
  • 举报
回复
使用 LoadLibrary 来加载 .DLL 的话,是不需要导入库的。 你只需要提供协议,诸如你的API、以及其需要的其他的定义等等。 但是使用 LoadLibrary 加载 DLL 的时候,如果你的 .DLL 也引用了其他的 .DLL 文件,那么此时需要注意加载路径的问题。 最好的办法就是在 加载你的 DLL 之前使用 SetDllDirectory 设置路径,或者你自己使用延时加载。
赵4老师 2018-03-01
  • 打赏
  • 举报
回复
学会使用depends.exe查看exe依赖的dll及其路径、版本号。
gspUser 2018-03-01
  • 打赏
  • 举报
回复
调用OpenCV的dll也一样的,把OpenCV的dll提取出来,和你的dll 放在同一个目录下就可以了,动态调用你写的dll的话,IDE是不需要特别设置的
mashinas 2018-02-28
  • 打赏
  • 举报
回复
还有调用dll的时候 dll文件该放在哪儿?? 或者要在ide中设置吗
mashinas 2018-02-28
  • 打赏
  • 举报
回复
引用 1 楼 gspuser 的回复:
只要dll按C标准导出,那QT就可以正常调用的。 dll分静态和动态调用,VS的dll到QT调用,不同IDE的话建议动态调用,就是loadlibrary的方式, 用动态调用就不需要lib,只要dll, 学写dll不是什么难事,百度下怎么生成dll和调用dll就可以了,先写dll,然后用VC写个动态调用你写的dll的例子, QT的开发人员按照这个例子就可以写了 只要dll的导出函数说明详细点,调用起来很方便的
您好 但如果我写的这个dll拷给qt的开发人员使用,但我写的dll里面使用了Opencv的一些dll,这时候该怎么办
gspUser 2018-02-26
  • 打赏
  • 举报
回复
只要dll按C标准导出,那QT就可以正常调用的。 dll分静态和动态调用,VS的dll到QT调用,不同IDE的话建议动态调用,就是loadlibrary的方式, 用动态调用就不需要lib,只要dll, 学写dll不是什么难事,百度下怎么生成dll和调用dll就可以了,先写dll,然后用VC写个动态调用你写的dll的例子, QT的开发人员按照这个例子就可以写了 只要dll的导出函数说明详细点,调用起来很方便的

5,530

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 模式及实现
社区管理员
  • 模式及实现社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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