CGAL庫匯入UE4遇到的一些坑

2021-09-27 12:14:02 字數 1065 閱讀 4419

編譯的cgal版本為4.11.3,boost版本為boost_1_60_0,cmake版本為cmake-3.5.2-win32-x86,

boost可只生成(system,thread模組)(執行b2.exe --with-system --with-thread)

版本對不上執行cmake會遇到各種問題。

編譯cgal參考的教程很多不贅述。

除版本衝突外,vs環境變數會導致cmake認不到編譯器

編譯完成後,建立乙個第三方空白外掛程式,將庫匯入ue4

在build.cs如下

using system.io;

using unrealbuildtool;

public class cgaldlllibrary : modulerules

else if (target.platform == unrealtargetplatform.mac)

}}

無非就是把編譯完後的cgal庫,boost庫都寫進.cs檔案

寫完之後編譯發現失敗,報了

mp_defer.hpp(28):錯誤c2988

查閱發現ue4原始碼中也有外掛程式使用了boost,

在 engine\plugins\experimental\proxylodplugin\source\thirdparty 目錄下

對比兩者mp_defer.hpp發現只是將原boost中check改寫為check_s,所以估計是boost中**與ue4自帶的巨集重名(check,pi等)。

我直接將上面目錄下的boost覆蓋了自己外掛程式中的boost目錄,但之後還是會遇到類似情況,我都是在衝突名後加「_s」(仿照原始碼)

包含#include 後出現error:4503:

d:\epic\epic games\ue_4.18\engine\source\runtime\core\public\windows\windowsplatformcompilersetup.h中將4503剔除

剔除後編譯通過但發現無法開啟ue4專案,目測ue4不支援過長的修飾名,只能放棄

過程檔案:

只能另闢蹊徑呼叫exe實現了:

UE4中遇到的一些疑惑的點及對應的解釋

1.如果在windows平台下開啟單步除錯,首先要進入的函式是 2 作用 應用程式入口點。2.ue4最常用模式包括debug editor和development editor,最近除錯原始碼,發現develipment editor模式在除錯時總是會有很多編輯器對 的優化,導致看不到變數的值,或者...

個人總結的一些UE4專案規範

地圖 content maps 具體根據實際情況進行子地圖 測試地圖區分 藍圖 content blueprints 具體根據實際情況分類 例如ai game ui等等 音效 content audio 動畫 content animation 具體從模型匯入的動畫資源 具體角色 content c...

UE4建立乙個圍繞角色旋轉的物體

一 建立乙個物體的藍圖類 1.建立乙個靜態網格物體元件或特效元件。由於第一人稱的視野和預設攝像機對特效的渲染,特效需要在晃動攝像機才能看到。二 獲得角色的位置和朝向 如上圖 1.這裡可以使用角色膠囊體的位置也可以使用攝像機的位置,由於筆者是使用vr模式,顧採用攝像機作為判斷。2.獲取旋轉物體的位置,...