vs2013 打包并调用dll(opencv,多函数复杂情况下)
2017-04-02 13:29
267 查看
首先,先推荐两个具有高质量的博客,先把这两个案例做成功了,我这边的案例也差不多了。
使用类进行打包dll:http://blog.csdn.net/slm1130/article/details/53489221
使用函数进行打包dll:http://blog.csdn.net/hit2015spring/article/details/52624985
博主认为使用函数进行打包的方法更加简单。为避免前两个博主的文章消失,我再说一些我的这边的过程。主要说使用函数打包的方法,响应题目。
使用函数打包:
1. 这个项目的第一件事情:创建无导出符号的dll空项目;
2. 然后就是将之前写的函数代码复制进去,再去配置opencv的环境,错误都解决好了如下图。
复制代码过程:dllmain.cpp不用管,将之前写的函数代码复制到新建的项目cpp中,图片中Imgset.cpp是我的项目中新加的cpp文件,这就是复杂的地方,但是仅仅引用现有cpp文件就可以了,没有影响。
注意:
如果之前的函数有要调用的相对路径的文件的话,在这里不用复制到这个项目的相对路径下,而是复制到调用这个dll的项目下去使用;
记得在需要调用的函数那里加上__declspec(dllexport) void Bleeding()中的__declspec(dllexport) 。
3.然后生成,即可得到dll和lib文件;
2. 调用dll内的类函数。
3.生成解决方案,现在肯定是很多错误;
4.将dll和lib文件拷贝到debug文件夹下,与exe文件是同一个文件夹,另外,之前dll引用的文件也都复制到现在这个项目的与cpp同一文件夹下;
5.右键项目名字选择属性,->配置属性->VC++目录->常规-库目录,选择你放置了lib的debug文件夹。
->配置属性->链接器-输入-附加依赖项-编辑加入lib的文件名(全名包含后缀)-确认
6.重新生成,运行即可
然后就成功了,博主是一般看到网上没有一些好的资料的时候,就会写一些东西到csdn上来,一般都是挺不错的资料,我觉得。觉得同样感觉到不错的朋友可以点一波关注~
使用类进行打包dll:http://blog.csdn.net/slm1130/article/details/53489221
使用函数进行打包dll:http://blog.csdn.net/hit2015spring/article/details/52624985
博主认为使用函数进行打包的方法更加简单。为避免前两个博主的文章消失,我再说一些我的这边的过程。主要说使用函数打包的方法,响应题目。
使用函数打包:
1. 这个项目的第一件事情:创建无导出符号的dll空项目;
2. 然后就是将之前写的函数代码复制进去,再去配置opencv的环境,错误都解决好了如下图。
复制代码过程:dllmain.cpp不用管,将之前写的函数代码复制到新建的项目cpp中,图片中Imgset.cpp是我的项目中新加的cpp文件,这就是复杂的地方,但是仅仅引用现有cpp文件就可以了,没有影响。
注意:
如果之前的函数有要调用的相对路径的文件的话,在这里不用复制到这个项目的相对路径下,而是复制到调用这个dll的项目下去使用;
记得在需要调用的函数那里加上__declspec(dllexport) void Bleeding()中的__declspec(dllexport) 。
3.然后生成,即可得到dll和lib文件;
调用dll:
1. 新建项目C++/Win32控制台应用程序,命名。选择没有预编译头。2. 调用dll内的类函数。
// test_Bleed.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <stdio.h> #include <iostream> using namespace std; #pragma comment(lib, "Bleed.lib") //调用dll文件时候必须用到的 void Bleeding(); //对刚才写好的处理函数进行声明 //主函数 int main() { Bleeding(); return 0; }
3.生成解决方案,现在肯定是很多错误;
4.将dll和lib文件拷贝到debug文件夹下,与exe文件是同一个文件夹,另外,之前dll引用的文件也都复制到现在这个项目的与cpp同一文件夹下;
5.右键项目名字选择属性,->配置属性->VC++目录->常规-库目录,选择你放置了lib的debug文件夹。
->配置属性->链接器-输入-附加依赖项-编辑加入lib的文件名(全名包含后缀)-确认
6.重新生成,运行即可
然后就成功了,博主是一般看到网上没有一些好的资料的时候,就会写一些东西到csdn上来,一般都是挺不错的资料,我觉得。觉得同样感觉到不错的朋友可以点一波关注~
相关文章推荐
- vs2013 打包并调用dll(opencv,多函数复杂情况下)
- VS2013调用MATLAB内建函数
- [项目实战派]opencv通过dll调用matlab函数,图片作为参数
- opencv2中vs2013配置保存和调用
- VS2013环境生成和调用DLL动态链接库
- VS2013生成Dll,在另一工程中调用dll(C++Win32)
- VS2013调试中如何看函数的上一级的调用
- 在vs中用C++编程的方式生成.dll文件和以动态、静态调用dll中函数
- 只有dll的情况下如何动态调用里面的类成员函数
- vs2013 结合opencv3.0生成64位的动态链接库.dll
- matlab 2014b 调用 vs2013 + opencv混合编程配置、mat 与 mxarray的转换、matlab在vs2013中调试
- MFC动态调用dll到指定的进程中(win7系统vs2013环境下)
- C#中调用C++的dll的参数为指针类型的导出函数(包括二级指针的情况)
- VS2013 IDE环境 OPENCV3.0.0以上依赖库环境 findContour 函数在Release模式下出现异常解决办法之一
- C#中调用C++的dll的参数为指针类型的导出函数(包括二级指针的情况)
- [项目实战派]csharp通过dll调用opencv函数,图片作为参数
- java调用vs2013编写的dll动态库
- opencv2.4.11利用vs2013调用摄像头
- VS2013环境生成和调用DLL动态链接库(第一种方法)
- VS 2013控制台应用程序DLL生成与调用