C++创建动态链接库(.dll),并分别通过C++调用以及C#调用

本文详细介绍了如何在C++中创建并导出动态链接库(.dll),以及如何在C#项目中正确导入和使用这些库,包括设置编译配置、包含目录和库目录等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、C++创建动态链接库

1、在VS项目中,分别创建.h文件和.cpp文件,其中,.h文件用于声明方法,.cpp文件用于编写与方法对应的函数内容。

.h文件内容如下:

#pragma once
#include <opencv2/opencv.hpp>
using namespace cv;
extern"C" __declspec(dllexport)Point2f Mytriangle(Mat & inputImage1);
extern"C" __declspec(dllexport)Point2f Mysquare(Mat & inputImage);
extern"C" __declspec(dllexport)Point2f Mycircle(Mat & inputImage);

其中,extern"C" __declspec(dllexport)用于输出dll文件;

Point2f Mycircle(Mat & inputImage);是我自己自定义的声明函数

.cpp文件内容如下:

Point2f Mytriangle(Mat& inputImage1)
{

    //函数内容
    XXXX
}

2、项目-属性-配置属性-常规-配置类型选择.dll

3、最后你就可以在你自己的项目文件路径-X64-Debug中看到.dll文件和.lib文件了

注意你的平台是X64还是X86的,最引用.dll文件的时候,平台必须与生成dll文件的平台一致,我生成.dll文件的平台是X64,那在引用的时候也必须是X64平台。

二、C++调用.dll文件

首先在项目文件位置处创建两个空文件夹include和lib,其中dlltest是我的项目所在。改成你自己的即可。

2、将.h文件复制到include文件夹中

将.dll文件和.lib文件复制到lib文件夹中

3、为了防止报错,建议再加一步,将.dll文件额外复制到项目的.exe文件所在位置。

即新项目-X64-Debug文件,其中dlltest是我的新项目

4、配置新项目环境。

(1)打开项目-属性-VC++目录-包含目录,将创建的include文件夹的路径添加进包含目录中

(2)再配置库目录,将创建的lib文件夹路径添加进库目录中

(3)配置链接器,将.lib文件名字添加进附加依赖项中。

最后头文件引用include文件夹中对用的.h文件即可

三、C#调用.dll文件

1、注意自己的平台是哪一个,必须将平台属性与.dll文件的平台属性调为一致。

2、将.dll文件复制进C#新项目-bin-X64-Debug中。

3、在程序里引用.dll文件

(1)首先添加对应的命名空间

using System.Runtime.InteropServices;

 System.Runtime.InteropServices;是专门用于引入.dll文件的命名空间

(2)在程序中引入你想用的函数即可

[DllImport("Kinect.dll")]
private extern static int OpenKinect();

 

private extern static是引入函数

int OpenKinect()是我自己编写的函数。将这个函数换成你自己的即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值