C++ dll 多重调用封装及C#调用

本文详细介绍了如何创建C++ DLL,包括新建项目、添加微图相机和OpenCV文件、解决调试问题。接着说明了C++直接调用DLL的步骤,并在最后讲解了C#如何调用C++ DLL,涉及DLL复制、C#代码修改以及指针处理。
摘要由CSDN通过智能技术生成

1.新建DLL

1.1 新建项目

新建--项目--Visual C++ -- Win32--Win32控制台应用

设定名称为camerStart,解决方案名称可保持默认camerStart,或修改为其他;

在下述向导中选择DLL


选择完成。

1.2 添加文件

1.2.1 添加微图相机启动文件

新建camerStart.h

#pragma once
#include <iostream>
#include "VTGE_Camera.h"
#include <opencv2\opencv.hpp>
#include <stdio.h>
#include "time.h"
#include <fstream>
using namespace std;

extern "C" _declspec(dllexport) int camerStart(void);//注意此句

同时将微图相机依赖文件都添加在此工程中,即将Camera文件夹放在camerStart\camerStart\下即可;

Camera/Include----GigE_VTAPI.h,VTGE_DataType.h

Camera/Lib------VTGE.dll,VTGE.lib

在项目中添加依赖库和依赖目录的方法,可参考【1】

即:

"

1. 添加编译所需要(依赖)的 lib 文件
    [解决方案资源管理器]“项目->属性->配置属性->连接器->输入->附加依赖项”里填写“winsock.lib”,多个 lib 以空格隔开。(等同于“#pragma comment(lib, "winsock.lib") ”语句)
2. 添加库(Libs)文件目录
    方法 1:[解决方案资源管理器]“项目->属性->配置属性->连接器->常规->附加库目录”
    方法 2:[菜单]“工具->选项->项目和解决方案->C++ 目录”,选择对应平台,然后添加所需“库文件”目录
3. 添加包含(include)文件目录
    方法 1:[解决方案资源管理器]“项目->属性->配置属性->C/C++->常规->附加包含目录”
    方法 2:[菜单]“工具->选项->项目和解决方案->C++ 目录”,选择对应平台,然后添加所需“包括文件”目录

"

同时将VTGE_Camera.cpp,VTGE_Camera.h; ConfigFile.cpp,ConfigFile.h;复制至camerStart\camerStart\下,在项目中直接添加,现有如此现有文件;


ps: 若经过上述设置后,仍然出现无法启动此程序,*.dll丢失,有两种方式解决:

1. 设置环境变量: 右击“计算机”->属性->高级设置->环境变量,设置系统变量;如opencv链接可将系统变量改为:opencv的bin文件路径,即
D:\opencv\CmakeBuildVS13\install\x86\vc12\bin
重启之后,设置方有效;

2. 将dll文件复制至system32文件夹下,立刻有效,但太粗糙了;

1.2.2 添加opencv文件

为了让一些没有安装opencv的同事也能够直接使用该工程,所以直接将原编译

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值