一般C/C++的代碼通過VisualStudio生成.Dll文件,然後在unity中通過C#的代碼調用即可。
一,創建C++的項目
選擇動態鏈接庫。輸入項目名稱以及保存路徑之後,點擊確定。
這樣我們的C/C++項目就創建成功了
二,在源文件中創建c/c++代碼
然後我們需要在我們創建的DllForUnity.cpp中添加代碼:
#include "stdafx.h"
#include "DLLForUnity.h"
#include <stdio.h>
#include <iostream>
using namespace std;
DLLForUnity_API int _stdcall Delete(int a, int b)
{
return a / b;
}
我們在裏面添加了一個Delete方法。
結果是這樣的,裏面有報錯,是因爲缺少文件。
三,在頭文件中添加DLLForUnity.h
並在裏面添加方法:
#define DLLForUnity_API _declspec(dllexport) //定義宏,後接準備封裝的函數
EXTERN_C DLLForUnity_API int _stdcall Delete(int a, int b);// 使用C語言進行編譯,封裝使用的函數
添加完成之後,還需要修改平臺的解決方案配置,修改成x64,因爲unity平臺不支持x86平臺
四,我們就可以生成解決方案了
生成之前,我們還需要修改
右擊我們的項目,然後點擊屬性,彈出的就是屬性的對話框,然後設置編譯的dll文件。
最後我們就可以點擊生成->生成解決方案
生成之後,會顯示出生成成功。
我們在項目路徑下x64的文件夾中就可以看到生成的.dll文件了
我們把它放入unity項目中調用即可
切記,發佈到Android平臺之後一定要修改一下unity中的playerSetting
不然的話打包成Apk之後,安卓手機上用不了