卡一卡2卡3卡精品网站-日本亲与子乱人妻hd-heyzo高清中文字幕在线-岳妇伦丰满69xx

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

    2018/3/20??????點(diǎn)擊:

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

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

    2.打開插件的.bluid.cs

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

    4.添加到工程中 代碼如 

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

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

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

    5.使用dll庫, 代碼如下

    需要現(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)來

    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)行正常 打包出來不好用 原因是插件的.uplugin中 type屬性 改成Runtime就好了 坑了我半天

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

    主站蜘蛛池模板: 南平市| 太湖县| 武陟县| 新泰市| 伽师县| 昌宁县| 彭阳县| 兴业县| 乐平市| 乌海市| 和林格尔县| 高密市| 同德县| 明光市| 红安县| 靖州| 庐江县| 松潘县| 拜泉县| 陆河县| 读书| 兴安盟| 石台县| 无为县| 红桥区| 静海县| 贡觉县| 莎车县| 永兴县| 顺昌县| 岫岩| 健康| 通海县| 镇雄县| 新巴尔虎右旗| 乐陵市| 札达县| 平凉市| 扶风县| 塔城市| 正镶白旗|