小工具知识网

当前位置: 首页 > 行业知识 > Unity3d调用C++ dll中的函数

行业知识

Unity3d调用C++ dll中的函数

2026-11-16 00:44:31 来源:互联网转载

一、���成dll

1.新建dll工程 

2. 不用管dllmain.cpp,添加自定义Helper.h和Helper.cpp

3.添加要在外部调用的方法

//头文件#define DLLEXPORT extern "C" __declspec(dllexport)DLLEXPORT int _stdcall Addition(int x, int y);DLLEXPORT int _stdcall create_video_decoder(int codec_id, void **handle);
//源文件DLLEXPORT int _stdcall Addition(int x, int y){return x + y;}DLLEXPORT int _stdcall create_video_decoder(int codec_id, void **handle){    //...}

4.配置x64或x86,编译,得到dll

 二、Unity3d中调用

1.在Unity3d工程Assets建立Plugins文件夹,将dll及依赖dll都复制到该文件夹下

2.在代码中引入函数

注意:C#函数的名字可以与C++中的函数可以不一样。但EntryPoint中的名字必须与C++函数名一样。

[DllImport("MyFFmpegHelper")]public static extern int Addition(int x, int y);[DllImport("MyFFmpegHelper", EntryPoint = "create_video_decoder", CallingConvention = CallingConvention.Cdecl)]private static extern int CreateVideoDecoder(FFmpegVideoCodecId videoCodecId, out IntPtr handle);

3.设置x64或x86以及.net版本

上一篇:PostGIS入门宝典,掌握地理空间数据的必备利器!

下一篇:腾讯服务器放在哪里贵州?