一、创建C++动态链接库(DLL)
二、将Dll库在Unity工程中调用二、将Dll库在Unity工程中调用@TOC
一、创建C++动态链接库(DLL)
1、创建一个C++的空项目(如下图)
创建一个C++的空项目:
2、配置项目属性为动态链接库
右键项目属性打开配置文件的输出类型为类库【配置属性】-》【常规】配置类型—动态库(.dll)
3、简单写点代码
3.1 添加头文件(.h)
头文件 AddOperate.h
。
#pragma once
extern "C" _declspec(dllexport) int Sum(int a, int b);
class AddOperate
{
public:
};
3.1 添加源文件(.cpp)
源文件 AddOperate.cpp
。
#include "AddOperate.h"
#include "iostream"
using namespace std;
int Sum(int a, int b)
{
if (a - (int)a != 0 || b - (int)b != 0) {
cout << "请输入整数" << endl;
return -1;
}
return a + b;
}
4、右键项目点击生成即可生成DLL文件
在项目的Debug目录下即可找到生成的DLL文件
二、将Dll库在Unity工程中调用
1、创建一个Unity工程:
2、新建一个文件夹命名为Plugins:
3、将之前生成的动态链接库放到Plugins文件夹下,如下图所示:
4、新建一个Test.cs测试脚本调用C++代码:
下面展示一些 Test.cs
。
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Runtime.InteropServices;
using UnityEngine;
public class Test : MonoBehaviour
{
void Start()
{
Add(3, 4);
}
[DllImport("CPPDll2.dll", CallingConvention = CallingConvention.Cdecl)]
extern static int Sum(int a, int b);
public void Add(int a,int b)
{
UnityEngine.Debug.Log("调用C++代码计算a + b的结果为" + Sum(a,b));
}