Open chexiongsheng opened 1 year ago
还有个解决办法是JsEnv对内PES_EXTENSION_WITH_V8_API,对外用BUILDING_PES_EXTENSION,这可以强制使用pesapi,但这要求UEDataBinding.hpp提供p-api的实现。
PrivateDefinitions.Add("PES_EXTENSION_WITH_V8_API");
PublicDefinitions.Add("BUILDING_PES_EXTENSION");
原因:quickjs封装用了stl,如果用动态库,可能stl版本冲突,静态库因为有静态变量的存在外加UE Editor下的编译规则,导致外部调用v8 api会崩溃
有几个解决的方案: 1、检测到是quickjs,在外部使用静态绑定就用pesapi backend,但用户自己调用v8 api还是可能崩; 2、github只编译quickjs动态库,v8的封装源码引入;