中文字幕无码a片久久,亚洲日韩在线观看浪潮,人人超人人超碰超国产二区,国产人妻久久一区二区,国产人妻久久一区二区

福感科技有限公司 歡迎您!
聯(lián)系方式

    地址:北京市平谷區(qū)馬坊鎮(zhèn)金河北街17號(hào)院3號(hào)樓7層712

    電話:010-89968230

    網(wǎng)站:http://0743119.com

使用UE4調(diào)用VR外設(shè)WISEGLOVE數(shù)據(jù)手套的LIB和DLL開(kāi)發(fā)庫(kù)的方法

2020-11-10 19:42:57??????點(diǎn)擊:

很多小伙伴不知道如何在UE4里給VR外設(shè)寫(xiě)插件,下面以WISEGLOVE數(shù)據(jù)手套為例,給各位介紹一下UE4調(diào)用WISEGLOVE數(shù)據(jù)手套的LIB, DLL開(kāi)發(fā)庫(kù)的方法:

1.在UE4中創(chuàng)建一個(gè)空的blank插件

2.打開(kāi)插件的.bluid.cs

3.需要將wiseglove.lib wiseglove.dll文件和對(duì)應(yīng)的include文件 wiseglove.h考到指定目錄中,通常為項(xiàng)目的Plugins/ThirdParty/Win64(可自定義)

4.添加到工程中 代碼如 

PublicAdditionalLibraries.Add(lib目錄 + lib文件名);//加載第三方靜態(tài)庫(kù).lib

 PublicIncludePaths.Add(lib頭文件目錄);

使用時(shí)在使用的代碼中直接#include 頭文件即可 (有的時(shí)候編譯會(huì)報(bào)兩個(gè)鏈接錯(cuò)誤 重新編譯一下就好了)

5.使用dll庫(kù), 代碼如下

需要現(xiàn)在.build.cs中配置

 PublicDelayLoadDLLs.Add(dll目錄 + dll文件名);
 RuntimeDependencies.Add(new RuntimeDependency(dll目錄 + dll文件名));

如果該dll有依賴的dll 需要將依賴的dll放在 binariesPath 相應(yīng)的平臺(tái)下 并調(diào)用上面的代碼加載進(jìn)來(lái)

6.dll調(diào)用

調(diào)用的方法如下:

例如獲取數(shù)據(jù)手套數(shù)據(jù)的dll函數(shù)原型 bool GetData(unsigned short *data)

則調(diào)用代碼中

typedef int(*AddFunc)(unsigned short *data);
AddFunc tempFunc;

void* pDllHandler = FPlatformProcess::GetDllHandle(*dll路徑);

if (pDllHandler)
{
FString funcName = "GetData";
tempFunc = (AddFunc)FPlatformProcess::GetDllExport(pDllHandler, *funcName);
check(tempFunc);
unsigned short tempdata[19];

int c = tempFunc(tempdata);
}

ps:如果pc上運(yùn)行正常 打包出來(lái)不好用 原因是插件的.uplugin中 type屬性 改成Runtime就好了 坑了我半天

 ps: .使用dll時(shí)的路徑與build.cs中的路徑必須相同 否則editor模式下沒(méi)問(wèn)題 發(fā)布程序就會(huì)找不到dll

Copyright 2019 0743119.com

福感科技有限公司 版權(quán)所有 All Rights Reserved

京ICP備20002031號(hào)

010-89968230