VMware 安装 centOS 8
https://mirrors.aliyun.com/centos/8-stream/isos/x86_64/CentOS-Stream-8-x86_64-latest-dvd1.iso
https://blog.51cto.com/u_16596714/10118179
注意,swap分区不能像上述教程中设置2G,这样会出现后面build的时候的input/output错误,直接设置20G
安装nodejs 20
https://zhuanlan.zhihu.com/p/672114690
安装cmake
https://blog.csdn.net/muxuen/article/details/132591664
WMware设置共享文件夹并挂在puerts项目
https://blog.csdn.net/qq_34484062/article/details/116503084
[root@localhost hgfs]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue May 7 12:10:13 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=f416eb3b-3309-42d2-a221-a99fb0d31e26 / xfs defaults 0 0
UUID=1428cbef-4afa-4c9b-b345-2765e900223c /boot ext4 defaults 1 2
UUID=4e04735f-4409-4523-bee0-6978fc2af0e1 none swap defaults 0 0
.host:/puerts /mnt/hgfs/puerts fuse.vmhgfs-fuse allow_other,defaults 0 0
下载ndk
我用的unity 2022.3.14f1,使用ndk r23b
wget -O /usr/android/android-ndk-r23b-linux.zip https://dl.google.com/android/repository/android-ndk-r23b-linux.zip
cd /usr/android
unzip android-ndk-r23b-linux.zip
rm android-ndk-r23b-linux.zip -rf
添加ANDROID_NDK环境变量
vim ~/.bashrc
添加环境变量,source ~/.bashrc
使之生效
[root@localhost hgfs]# cat ~/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
export ANDROID_NDK=/usr/android/android-ndk-r23b
编译
说明
https://puerts.github.io/docs/puerts/unity/performance/il2cpp/
编译android+arm64
cd unity/native_src_il2cpp
node ../cli make --platform android --arch arm64
等待许久,报错了
[11%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o
/mnt/hgfs/ndk/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=aarch64-none-linux-android21 --gcc-toolchain=/mnt/hgfs/ndk/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64 --sysroot=/mnt/hgfs/ndk/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM64 -DV8_94_OR_NEWER -I/mnt/hgfs/puerts/unity/native_src_il2cpp/Inc -I/mnt/hgfs/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/mnt/hgfs/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/mnt/hgfs/puerts/unity/native_src_il2cpp/../native_src/Inc -I/mnt/hgfs/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/mnt/hgfs/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/mnt/hgfs/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -O2 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o -c /mnt/hgfs/puerts/unity/native_src_il2cpp/Src/Puerts.cpp
/mnt/hgfs/puerts/unity/native_src_il2cpp/Src/Puerts.cpp:181:5: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
Obj->Set(Context, POEnv->SymbolCSPtr.Get(Isolate), v8::External::New(Context->GetIsolate(), runtimeObject));
^~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
clang++: error: unable to execute command: Killed
clang++: error: clang frontend command failed due to signal (use -v to see invocation)
Android (6317467 based on r365631c1) clang version 9.0.8 (https://android.googlesource.com/toolchain/llvm-project e0caee08e5f09b374a27a676d04978c81fcb1928) (based on LLVM 9.0.8svn)
Target: aarch64-none-linux-android21
Thread model: posix
InstalledDir: /mnt/hgfs/ndk/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64/bin
clang++: note: diagnostic msg: PLEASE submit a bug report to https://github.com/android-ndk/ndk/issues and include the crash backtrace, preprocessed source, and associated run script.
百度了一下,是因为swap空间不足,故增加一个swap file
https://zhuanlan.zhihu.com/p/510257476
增加后:
[root@localhost ~]# swapon --show
NAME TYPE SIZE USED PRIO
/dev/nvme0n1p2 partition 2G 0B -2
/swapfile file 16G 0B -3
再编译后成功生成:puerts/unity/Assets/core/upm/Plugins/Android/libs/arm64-v8a/libpuerts_il2cpp.a
编译android+armv7
root@localhost puerts]# ./build.sh
node --loader ts-node/esm /mnt/hgfs/puerts/unity/cli/cmd.mts make --platform android --arch armv7
(node:4243) ExperimentalWarning: `--experimental-loader` may be removed in the future; instead use `register()`:
--import 'data:text/javascript,import { register } from "node:module"; import { pathToFileURL } from "node:url"; register("ts-node/esm", pathToFileURL("./"));'
(Use `node --trace-warnings ...` to show where the warning was created)
cmake --version
[Puer] download skip: v8_9.4 already exists
cmake -DBACKEND_DEFINITIONS="V8_94_OR_NEWER" -DBACKEND_LIB_NAMES="/Lib/Android/armeabi-v7a/libwee8.a" -DBACKEND_INC_NAMES="/Inc" -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DJS_ENGINE=v8_9.4 -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI=armeabi-v7a -H. -B/mnt/hgfs/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4 -DCMAKE_TOOLCHAIN_FILE=/mnt/hgfs/ndk/android-ndk-r21b/build/cmake/android.toolchain.cmake -DANDROID_NATIVE_API_LEVEL=android-21 -DANDROID_TOOLCHAIN=clang -DANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-4.9
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: /mnt/hgfs/ndk/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
-- Check for working C compiler: /mnt/hgfs/ndk/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang - broken
CMake Error at /usr/local/share/cmake-3.29/Modules/CMakeTestCCompiler.cmake:67 (message):
The C compiler
"/mnt/hgfs/ndk/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: '/mnt/hgfs/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4/CMakeFiles/CMakeScratch/TryCompile-GvSIHC'
Run Build Command(s): /usr/local/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_15833/fast
/usr/bin/gmake -f CMakeFiles/cmTC_15833.dir/build.make CMakeFiles/cmTC_15833.dir/build
gmake[1]: Entering directory '/mnt/hgfs/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4/CMakeFiles/CMakeScratch/TryCompile-GvSIHC'
Building C object CMakeFiles/cmTC_15833.dir/testCCompiler.c.o
/mnt/hgfs/ndk/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --target=armv7-none-linux-androideabi21 --gcc-toolchain=/mnt/hgfs/ndk/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64 --sysroot=/mnt/hgfs/ndk/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -fPIE -MD -MT CMakeFiles/cmTC_15833.dir/testCCompiler.c.o -MF CMakeFiles/cmTC_15833.dir/testCCompiler.c.o.d -o CMakeFiles/cmTC_15833.dir/testCCompiler.c.o -c /mnt/hgfs/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4/CMakeFiles/CMakeScratch/TryCompile-GvSIHC/testCCompiler.c
Linking C executable cmTC_15833
/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_15833.dir/link.txt --verbose=1
/mnt/hgfs/ndk/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --target=armv7-none-linux-androideabi21 --gcc-toolchain=/mnt/hgfs/ndk/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64 --sysroot=/mnt/hgfs/ndk/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libgcc_real.a -Wl,--exclude-libs,libatomic.a -static-libstdc++ -Wl,--build-id -Wl,--fatal-warnings -Wl,--exclude-libs,libunwind.a -Wl,--no-undefined -Qunused-arguments -Wl,--gc-sections CMakeFiles/cmTC_15833.dir/testCCompiler.c.o -o cmTC_15833 -latomic -lm
/mnt/hgfs/ndk/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: fatal error: cmTC_15833: Input/output error
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[1]: *** [CMakeFiles/cmTC_15833.dir/build.make:100: cmTC_15833] Error 1
gmake[1]: Leaving directory '/mnt/hgfs/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4/CMakeFiles/CMakeScratch/TryCompile-GvSIHC'
gmake: *** [Makefile:127: cmTC_15833/fast] Error 2
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:10 (project)
-- Configuring incomplete, errors occurred!
node:internal/process/promises:289
triggerUncaughtException(err, true /* fromPromise */);
^
AssertionError [ERR_ASSERTION]: 0 == 1
at Object.hook (file:///mnt/hgfs/puerts/unity/cli/make.mts:19:24)
at runPuertsMake (file:///mnt/hgfs/puerts/unity/cli/make.mts:201:34) {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: 0,
expected: 1,
operator: '=='
}
Node.js v20.12.2
又出现input/output的问题,这次应该和swap分区没关系了,看到下面这篇文章
http://t.csdnimg.cn/QArGJ
受其启发,我确实是把puerts工程通过共享文件夹并挂载到mnt后进行编译的,会不会与此有关?于是把工程copy到usr/works
里再试试,果然编译成功:
[root@localhost armeabi-v7a]# ls -l /usr/works/unity/Assets/core/upm/Plugins/Android/libs/armeabi-v7a/libpuerts_il2cpp.a
-rw-r--r--. 1 root root 146860860 May 8 19:13 /usr/works/unity/Assets/core/upm/Plugins/Android/libs/armeabi-v7a/libpuerts_il2cpp.a
xll2cpp不能用于webgl
Assets\Puerts_webgl\Runtime\WebGL.cs
, line 66
[MonoPInvokeCallback(typeof(CallV8Function))]
internal static void CallV8FunctionCallback(int functionCallback, int info, int self, int paramLen, int callbackIdx)
{
V8FunctionCallback callback =
Marshal.GetDelegateForFunctionPointer<V8FunctionCallback>(new IntPtr(functionCallback));
callback.Invoke(IntPtr.Zero, new IntPtr(info), new IntPtr(self), paramLen, Utils.TwoIntToLong(0, callbackIdx));
}
而MonoPInvokeCallback
定义于puerts/unity/Assets/core/upm/Runtime/Src/Default/Native/PuertsDLL.cs
#if !EXPERIMENTAL_IL2CPP_PUERTS || !ENABLE_IL2CPP
using System;
using System.Runtime.InteropServices;
using System.Text;
namespace Puerts
{
#pragma warning disable 414
public class MonoPInvokeCallbackAttribute : System.Attribute
{
// ...
}
// ...
}
#endif
关于ENABLE_IL2CPP
本地编辑器跑项目时,尽管BuildSetting里添加了define symbolsPUERTS_CPP_OUTPUT_TO_NATIVE_SRC_UPM;EXPERIMENTAL_IL2CPP_PUERTS
,也开启了il2cpp,但是JsEnv一直跑的是unity\Assets\core\upm\Runtime\Src\Default\JsEnv.cs
而非unity\Assets\core\upm\Runtime\Src\IL2Cpp\JsEnv.cs
。原因在于unity编辑器模式下不支持il2cpp,解释见:
https://github.com/Tencent/puerts/issues/1380
关于libpuerts_il2cpp.a
Plugin 'Packages/com.tencent.puerts.core/Plugins/Android/libs/armeabi-v7a/libpuerts_il2cpp.a' doesn't have CPU architecture set, since it's a native plugin, valid architecture is required, skipping.
检查了相关插件的Import Settings是正确的,但就是一直提示这个错误。最后尝试将CPU先改为arm64再改回armv7,竟然就好了!
Could not determine the dependencies of task xxx
Could not determine the dependencies of task ':bugly:compileReleaseAidl'.
Installed Build Tools revision 34.0.0 is corrupted. Remove and install again using the SDK Manager.
我用的unity版本是2021.2.18f1,估计默认是34.0.0,和bugly的冲突了,把所有*.gradle *.properties
中的buildToolsVersion改成一样的就行了。这里修改了${安卓工程}/launcher/build.gradle
和${安卓工程}/launcher/gradle.properties
,统一改为30.0.2
。
关于unityenv_for_puerts.h
项目进行安卓打包时报错:
Error: Unity.IL2CPP.Building.BuilderFailedException: Build failed with 453 successful nodes and 2 failed ones
Annotation: C_Android_arm32 iz17/rnjx_rts_il2cpp.o
Cmdline: "D:/android-ndk-windows/r21d/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++" -march=armv7-a -mfloat-abi= softfp -mfpu=neon-fp16 -marm -D__ARM_ARCH_7__ -D__ARM_ARCH_7A__ -D__ANDROID_API__=22 -DANDROID -DHAVE_INTTYPES_H -no-c anonical-prefixes -funwind-tables -fstack-protector -fdiagnostics-format=msvc -fomit-frame-pointer -std=c++11 -Wswitch -Wno-trigraphs -Wno-tautological-compare -Wno-invalid-offsetof -Wno-implicitly-unsigned-literal -Wno-integer-overflow -Wno-shift-negative-value -Wno-unknown-attributes -Wno-implicit-function-declaration -Wno-null-conversion -Wno-missin g-declarations -Wno-unused-value -Wno-pragma-once-outside-header -fvisibility=hidden -fexceptions -fno-rtti -g -O2 -fP IC -fno-strict-overflow -ffunction-sections -fdata-sections -fmessage-length=0 -pipe -DBASELIB_INLINE_NAMESPACE=il2cpp _baselib -DIL2CPP_MONO_DEBUGGER_DISABLED -DRUNTIME_IL2CPP -DIL2CPP_ENABLE_WRITE_BARRIERS=1 -DIL2CPP_INCREMENTAL_TIME_S LICE=3 -DHAVE_BDWGC_GC -DNDEBUG -I"." -I"F:/games/DouPoAndroid_CN_Develop_xll2cpp/export/unityLibrary/src/main/Il2CppO utputProject/Source/il2cppOutput" -I"F:/games/DouPoAndroid_CN_Develop_xll2cpp/export/unityLibrary/src/main/Il2CppOutpu tProject/IL2CPP/libil2cpp/pch" -I"F:/games/DouPoAndroid_CN_Develop_xll2cpp/export/unityLibrary/src/main/Il2CppOutputPr oject/IL2CPP/libil2cpp" -I"F:/games/DouPoAndroid_CN_Develop_xll2cpp/export/unityLibrary/src/main/Il2CppOutputProject/I L2CPP/external/baselib/Include" -I"F:/games/DouPoAndroid_CN_Develop_xll2cpp/export/unityLibrary/src/main/Il2CppOutputP roject/IL2CPP/external/baselib/Platforms/Android/Include" -o "iz17/rnjx_rts_il2cpp.o" -fcolor-diagnostics -fdiagnostic s-absolute-paths -target armv7a-linux-androideabi22 -fstrict-aliasing -fdiagnostics-format=msvc -c -x c++ "F:/games/Do uPoAndroid_CN_Develop_xll2cpp/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput/Puerts_il2cpp.cpp"
ExitCode: 1
Stdout:
F:\games\DouPoAndroid_CN_Develop_xll2cpp\export\unityLibrary\src\main\Il2CppOutputProject\Source\il2cppOutput\Puerts_i l2cpp.cpp(9,10): fatal error: 'unityenv_for_puerts.h' file not found
#include "unityenv_for_puerts.h"
^~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
将puerts\unity\Assets\core\upm\Plugins\puerts_il2cpp
下的unityenv_for_puerts.h
复制到${安卓工程}\unityLibrary\src\main\Il2CppOutputProject\Source\il2cppOutput
下即可。同理,把pesapi.h
和UnityExports4Puerts.h
也一起复制过去。
Puerts_il2cpp.cpp报错
F:/games/DouPoAndroid_CN_Develop_xll2cpp/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput/Puerts_il2cpp.cpp:476: error: undefined reference to 'pesapi_create_string_utf8'
F:/games/DouPoAndroid_CN_Develop_xll2cpp/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput/Puerts_il2cpp.cpp:487: error: undefined reference to 'pesapi_create_boolean'
F:/games/DouPoAndroid_CN_Develop_xll2cpp/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput/Puerts_il2cpp.cpp:0: error: undefined reference to 'pesapi_create_int32'
F:/games/DouPoAndroid_CN_Develop_xll2cpp/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput/Puerts_il2cpp.cpp:0: error: undefined reference to 'pesapi_create_uint32'
F:/games/DouPoAndroid_CN_Develop_xll2cpp/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput/Puerts_il2cpp.cpp:524: error: undefined reference to 'pesapi_create_int64'
F:/games/DouPoAndroid_CN_Develop_xll2cpp/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput/Puerts_il2cpp.cpp:531: error: undefined reference to 'pesapi_create_uint64'
F:/games/DouPoAndroid_CN_Develop_xll2cpp/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput/Puerts_il2cpp.cpp:0: error: undefined reference to 'pesapi_create_double
某些CS类的静态变量是undefined
如上图,
BuildDefines.defines
为undefined
。经过测试,如果在CS中显式地用到了
BuildDefines.defines
,不会出现上述报错。看起来似乎是il2cpp stripe code导致的。但是在CS中通过反射可以取到fielddefines
。在
csharp.mjs
中增加日志编辑器中可以打印出相关日志,但模拟器中并不会打印出来
说明il2cpp不会走
readonlyStaticMembers
这个逻辑。看了源码确实如此,readonlyStaticMembers
是在JSEngine::RegisterProperty
中处理的,而只有unity\Assets\core\upm\Runtime\Src\Default\Native\PuertsDLL.cs
调用了该接口,而这个文件是非xll2cpp模式下才使用的,xll2cpp模式下跑的是unity\Assets\core\upm\Runtime\Src\IL2Cpp\Native\NativeAPI.cs
。再看看相关流程:
public JsEnv(ILoader loader, int debugPort = -1)
{
...
tryLoadTypeMethodInfo = typeof(TypeRegister).GetMethod("RegisterNoThrow");
PuertsIl2cpp.NativeAPI.SetTryLoadCallback(PuertsIl2cpp.NativeAPI.GetMethodInfoPointer(tryLoadTypeMethodInfo), PuertsIl2cpp.NativeAPI.GetMethodPointer(tryLoadTypeMethodInfo));
...
const string AutoStaticCodeRegisterClassName = "PuertsStaticWrap.PuerRegisterInfo_Gen";
var autoRegister = Type.GetType(AutoStaticCodeRegisterClassName, false);
...
var methodInfoOfRegister = autoRegister.GetMethod("AddRegisterInfoGetterIntoJsEnv");
...
methodInfoOfRegister.Invoke(null, new object[] { this });
...
}
tryLoadTypeMethodInfo
最终赋予JSClassRegister::LazyLoad
// unity\native_src_il2cpp\Src\PesapiV8Impl.cpp
void pesapi_define_class(const void* type_id, const void* super_type_id, const char* type_name, pesapi_constructor constructor,
pesapi_finalize finalize, size_t property_count, pesapi_property_descriptor properties, void* userdata)
{
// ...
puerts::RegisterJSClass(classDef);
}
// unity\native_src_il2cpp\Src\JSClassRegister.cpp
void RegisterJSClass(const JSClassDefinition& ClassDefinition)
{
GetJSClassRegister()->RegisterClass(ClassDefinition);
}
void JSClassRegister::RegisterClass(const JSClassDefinition& ClassDefinition)
{
// ...
}
而pesapi_define_class
又是如何调用的?
// unity\native_src_il2cpp\Src\PesapiAddonLoad.cpp
V8_EXPORT pesapi_func_ptr* GetPesapiImpl()
{
return funcs;
}
// unity\Assets\core\upm\Runtime\Src\IL2Cpp\JsEnv.cs
public JsEnv(ILoader loader, int debugPort = -1)
{
// ...
PuertsIl2cpp.NativeAPI.InitialPuerts(PuertsIl2cpp.NativeAPI.GetPesapiImpl());
// ...
}
// unity\Assets\core\upm\Plugins\puerts_il2cpp\Puerts_il2cpp.cpp
void InitialPuerts(pesapi_func_ptr* func_array)
{
// ...
pesapi_init(func_array);
}
// unity\Assets\core\upm\Plugins\puerts_il2cpp\pesapi_adpt.c
void pesapi_init(pesapi_func_ptr* func_array){
// ...
}
// unity\native_src_il2cpp\Inc\Binding.hpp
void Register(FinalizeFuncType Finalize)
{
// ...
pesapi_define_class(StaticTypeId<T>::get(), superTypeId_, className_, constructor_, finalize, properties_count, properties);
}
最后看下BuildDefines
的整个流程:
// unity\Assets\core\upm\Runtime\Src\IL2Cpp\JsEnv.cs
var methodInfoOfRegister = autoRegister.GetMethod("AddRegisterInfoGetterIntoJsEnv");
methodInfoOfRegister.Invoke(null, new object[] { this });
// Assets\Gen\RegisterInfo_Gen.cs
jsEnv.AddRegisterInfoGetter(typeof(BuildDefines), GetRegisterInfo_BuildDefines_Wrap);
...
// unity\Assets\core\upm\Runtime\Src\IL2Cpp\JsEnv.cs
TypeRegister.AddRegisterInfoGetter(type, getter);
// unity\Assets\core\upm\Runtime\Src\IL2Cpp\TypeRegister.cs
RegisterInfoManager.Add(type, getter);
// unity\Assets\core\upm\Runtime\Src\RegisterInfoManager.cs
RegisterInfoGetters.Add(type, RegisterInfoGetter);
// ...
// 下面看看BuildDefines::defines
// unity\Assets\core\upm\Runtime\Src\IL2Cpp\TypeRegister.cs
var wrapper = GetFieldWrapper(registerInfo, name, field.IsStatic, signature);
...
NativeAPI.AddField(
typeInfo,
wrapper,
...
)
// GetFieldWrapper又是怎样的
if (bindingMode == BindingMode.FastBinding)
{
wrapper = NativeAPI.FindFieldWrap(signature);
}
// 下面看看js访问defines时发生了什么
// TsScripts\System\data\SysDefines.ts
let buildds = CS.BuildDefines.defines.split('.');
// unity\Assets\core\upm\Runtime\Resources\puerts\csharp.mjs
let cls = puer.loadType(csType);
// unity\native_src_il2cpp\Src\Puerts.cpp
auto Ret = pom->LoadTypeById(Isolate, Context, type);
// unity\native_src_il2cpp\Src\CppObjectMapper.cpp
auto Template = GetTemplateOfClass(Isolate, TypeId);
...
PropertyInfo = ClassDefinition->Variables;
...
Template->SetAccessorProperty(
v8::String::NewFromUtf8(Isolate, PropertyInfo->Name, v8::NewStringType::kNormal).ToLocalChecked(),
v8::FunctionTemplate::New(Isolate, PropertyInfo->Getter, GetterData),
v8::FunctionTemplate::New(Isolate, PropertyInfo->Setter, SetterData), PropertyAttribute);
...
// unity\native_src_il2cpp\Src\FunctionBridge.Gen.h
static void ifg_s(const v8::FunctionCallbackInfo<v8::Value>& info, void* fieldInfo, size_t offset, void* TIret) {
PLog(LogLevel::Log, "Running ifg_s");
v8::Isolate* isolate = info.GetIsolate();
v8::Local<v8::Context> context = isolate->GetCurrentContext();
void* ret;
FieldGet(nullptr, fieldInfo, offset, &ret);
info.GetReturnValue().Set(CSAnyToJsValue(isolate, context, ret));
}
// unity\native_src_il2cpp\Src\Puerts.cpp
inline static v8::Local<v8::Value> CSAnyToJsValue(v8::Isolate* Isolate, v8::Local<v8::Context> Context, void* Obj)
{
...
pesapi_value jsVal = GUnityExports.TryTranslatePrimitive(*Context, Obj);
...
}
// unity\Assets\core\upm\Plugins\puerts_il2cpp\Puerts_il2cpp.cpp
pesapi_value TryTranslatePrimitive(pesapi_env env, Il2CppObject* obj)
{
return TryTranslatePrimitiveWithClass(env, obj);
}
...
static pesapi_value TryTranslatePrimitiveWithClass(pesapi_env env, Il2CppObject* obj, Il2CppClass *klass = nullptr)
{
if (obj)
{
const Il2CppType *type = Class::GetType(klass ? klass : obj->klass);
int t = type->type;
if (t == IL2CPP_TYPE_STRING)
{
const Il2CppChar* utf16 = il2cpp::utils::StringUtils::GetChars((Il2CppString*)obj);
std::string str = il2cpp::utils::StringUtils::Utf16ToUtf8(utf16);
return pesapi_create_string_utf8(env, str.c_str(), str.size());
}
...
}
}
最终通过打日志发现是在unity\Assets\core\upm\Plugins\puerts_il2cpp\Puerts_il2cpp.cpp
中,Field::SetValueRaw
没有取得对应的值。
这说明,即便xll2cpp模式生成了linker.xml,通过反射也可以取得defines
的值,但直接通过CS.BuildDefine.defines
却无法取得正确的值。
void GetFieldValue(void *ptr, FieldInfo *field, size_t offset, void *value)
{
void *src;
if (!(field->type->attrs & FIELD_ATTRIBUTE_STATIC))
{
IL2CPP_ASSERT(ptr);
src = (char*)ptr + offset;
Field::SetValueRaw(field->type, value, src, true);
}
else
{
Field::StaticGetValue(field, value);
}
}
更神奇的是跟踪了半天后,后来不知道咋的这个问题消失了...
ArrayBuffer优化
unity\Assets\core\upm\Runtime\Src\ArrayBuffer.cs
unity\Assets\core\upm\Runtime\Src\Default\Translator\NativeValueApiGeneric.cs
目前js和cs交互时,new ArrayBuffer
总是会创建新数组:
public ArrayBuffer(IntPtr ptr, int length)
{
if (ptr != IntPtr.Zero)
{
Bytes = new byte[length];
Count = length;
System.Runtime.InteropServices.Marshal.Copy(ptr, Bytes, 0, length);
}
}
修改成直接使用指针
public ArrayBuffer(IntPtr ptr, int length)
{
if (ptr != IntPtr.Zero)
{
BytesPtr = ptr;
Count = length;
}
}
xll2cpp相关
jsEnv
unity\native_src_il2cpp\Src\Puerts.cpp
定义了SetObjectToGlobal
:
V8_EXPORT void SetObjectToGlobal(puerts::JSEnv* jsEnv, const char* key, void *obj)
{
if (obj)
{
v8::Isolate* Isolate = jsEnv->MainIsolate;
v8::Isolate::Scope IsolateScope(Isolate);
v8::HandleScope HandleScope(Isolate);
v8::Local<v8::Context> Context = jsEnv->MainContext.Get(Isolate);
v8::Context::Scope ContextScope(Context);
void* klass = *reinterpret_cast<void**>(obj);
Context->Global()->Set(Context, v8::String::NewFromUtf8(Isolate, key).ToLocalChecked(), puerts::DataTransfer::FindOrAddCData(Isolate, Context, klass, obj, true)).Check();
}
}
unity\Assets\core\upm\Runtime\Src\IL2Cpp\JsEnv.cs
注册了全局的js变量jsEnv
:
PuertsIl2cpp.NativeAPI.SetObjectToGlobal(nativeJsEnv, "jsEnv", PuertsIl2cpp.NativeAPI.GetObjectPointer(this));
这样,在unity\Assets\core\upm\Runtime\Resources\puerts\init_il2cpp.mjs
中通过jsEnv
获取CS类:
puer.loadType = function(nameOrCSType, ...genericArgs) {
let csType = nameOrCSType
if (typeof nameOrCSType == "string") { // convert string to csType
csType = jsEnv.GetTypeByString(nameOrCSType)
}
if (csType) {
if (genericArgs && csType.IsGenericTypeDefinition) {
genericArgs = genericArgs.map(g => puer.$typeof(g));
csType = csType.MakeGenericType(...genericArgs);
}
let cls = loadType(csType)
cls.__p_innerType = csType
// todo
cls.__puertsMetadata = cls.__puertsMetadata || new Map();
return cls
}
}
unity\Assets\core\upm\Plugins\puerts_il2cpp\Puerts_il2cpp.cpp
中定义了g_unityExports
,这个文件涉及unity il2cpp相关。
静态常量
在unity\native_src\Src\JSEngine.cpp
中,JSEngine::RegisterProperty
设置了readonlyStaticMembers
:
if (!NotReadonlyStatic)
{
v8::Local<v8::Map> Metadata = Metadatas[ClassID].Get(Isolate);
v8::Local<v8::Set> ReadonlyStaticMembersSet;
v8::Local<v8::Value> NameOfTheSet = FV8Utils::V8String(Isolate, "readonlyStaticMembers");
v8::Local<v8::Value> ReadonlyStaticMembersSetValue = Metadata->Get(Context, NameOfTheSet).ToLocalChecked();
if (ReadonlyStaticMembersSetValue->IsNullOrUndefined())
{
ReadonlyStaticMembersSet = v8::Set::New(Isolate);
Metadata->Set(Context, NameOfTheSet, ReadonlyStaticMembersSet);
}
else
{
ReadonlyStaticMembersSet = v8::Local<v8::Set>::Cast(ReadonlyStaticMembersSetValue);
}
ReadonlyStaticMembersSet->Add(Context, FV8Utils::V8String(Isolate, Name));
}
接下来在unity\Assets\core\upm\Runtime\Resources\puerts\csharp.mjs
的``csTypeToClass中:
if (readonlyStaticMembers = cls.__puertsMetadata.get('readonlyStaticMembers')) {
// ...
}
默认BindingMode
JsEnv::SetDefaultBindingMode
见unity\Assets\core\upm\Runtime\Src\Default\JsEnv.cs
ios xcode打包报错:'../../external/google/sparsehash/sparse_hash_map.h' file not found
之前一直用的2019版本,这次升级到2022.3.14f1
后,打ios时报错
对比2019和2022的产出,发现两者并无区别:
那问题就应该出在unity身上,对比两个版本的
Unity安装目录\Editor\Data\il2cpp\libil2cpp\il2cpp-config.h
发现:也就是2022默认在打安卓和ios时启用了
IL2CPP_USE_SPARSEHASH
,解决方法就是把
打安卓包报错:
Stdout:
ld.lld: error: duplicate symbol: pesapi_add_return
>>> defined at pesapi_adpt.c:292 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:292)
>>> iz17/qhwsep44f230.o:(pesapi_add_return)
>>> defined at v8.h:11466 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\../native_src/.backends/v8_9.4/Inc/v8.h:11466)
>>> PesapiV8Impl.cpp.o:(.text.pesapi_add_return+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a
ld.lld: error: duplicate symbol: pesapi_alloc_property_descriptors
>>> defined at pesapi_adpt.c:430 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:430)
>>> iz17/qhwsep44f230.o:(pesapi_alloc_property_descriptors)
>>> defined at PesapiV8Impl.cpp:699 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:699)
>>> PesapiV8Impl.cpp.o:(.text.pesapi_alloc_property_descriptors+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a
...
原因是我是在windows环境下generate的,导致unity/Assets/core/upm/Plugins/puerts_il2cpp/unityenv_for_puerts.h
中生成了宏PUERTS_SHARED,会导致unity\Assets\core\upm\Plugins\puerts_il2cpp\pesapi_adpt.c
和lippuerts_il2cpp.a冲突,具体见unity\Assets\core\upm\Editor\Src\Generator\IL2Cpp\FileExporter.cs
:
clang-12: command not found
之前一直好好的,最近要重新编译插件,svn update时提示database坏掉了,cleanup也无济于事,无奈删掉整个目录重新check out,然后再次编译竟然失败了:
node --loader ts-node/esm /usr/svn/swsw/puerts/unity/cli/cmd.mts make --backend v8_9.4 --platform android --arch arm64
(node:2866) ExperimentalWarning: `--experimental-loader` may be removed in the future; instead use `register()`:
--import 'data:text/javascript,import { register } from "node:module"; import { pathToFileURL } from "node:url"; register("ts-node/esm", pathToFileURL("./"));'
(Use `node --trace-warnings ...` to show where the warning was created)
cmake --version
[Puer] download skip: v8_9.4 already exists
cmake -DBACKEND_DEFINITIONS="V8_94_OR_NEWER" -DBACKEND_LIB_NAMES="/Lib/Android/arm64-v8a/libwee8.a" -DBACKEND_INC_NAMES="/Inc" -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DJS_ENGINE=v8_9.4 -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI=arm64-v8a -H. -B/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4 -DCMAKE_TOOLCHAIN_FILE=/mnt/hgfs/ndk/android-ndk-r23b/build/cmake/android.toolchain.cmake -DANDROID_NATIVE_API_LEVEL=android-23 -DANDROID_TOOLCHAIN=clang -DANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-clang
-- ANDROID_PLATFORM not set. Defaulting to minimum supported version 16.
-- android-16 is not supported for arm64-v8a. Using minimum supported LP64 version 21.
-- Android: Selected unified Clang toolchain
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: /mnt/hgfs/ndk/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
-- Check for working C compiler: /mnt/hgfs/ndk/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang - broken
CMake Error at /usr/local/share/cmake-3.29/Modules/CMakeTestCCompiler.cmake:67 (message):
The C compiler
"/mnt/hgfs/ndk/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4/CMakeFiles/CMakeScratch/TryCompile-HaGHdm'
Run Build Command(s): /usr/local/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_ea47b/fast
/usr/bin/gmake -f CMakeFiles/cmTC_ea47b.dir/build.make CMakeFiles/cmTC_ea47b.dir/build
gmake[1]: Entering directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4/CMakeFiles/CMakeScratch/TryCompile-HaGHdm'
Building C object CMakeFiles/cmTC_ea47b.dir/testCCompiler.c.o
/mnt/hgfs/ndk/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -o CMakeFiles/cmTC_ea47b.dir/testCCompiler.c.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4/CMakeFiles/CMakeScratch/TryCompile-HaGHdm/testCCompiler.c
/mnt/hgfs/ndk/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang: line 1: clang-12: command not found
gmake[1]: *** [CMakeFiles/cmTC_ea47b.dir/build.make:78: CMakeFiles/cmTC_ea47b.dir/testCCompiler.c.o] Error 127
gmake[1]: Leaving directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4/CMakeFiles/CMakeScratch/TryCompile-HaGHdm'
gmake: *** [Makefile:127: cmTC_ea47b/fast] Error 2
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:10 (project)
-- Configuring incomplete, errors occurred!
node:internal/process/promises:289
triggerUncaughtException(err, true /* fromPromise */);
^
AssertionError [ERR_ASSERTION]: 0 == 1
at Object.hook (file:///usr/svn/swsw/puerts/unity/cli/make.mts:34:24)
at runPuertsMake (file:///usr/svn/swsw/puerts/unity/cli/make.mts:201:34) {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: 0,
expected: 1,
operator: '=='
}
Node.js v20.12.2
很奇怪怎么会报clang-12: command not found
,cd到具体目录:
[root@localhost bin]# ls -l clang-12
-rwxrwxrwx. 1 root root 91449576 Sep 30 2021 clang-12
[root@localhost bin]# ./clang-12
clang-12: error: no input files
[root@localhost bin]# ./clang
./clang: line 1: clang-12: command not found
权限没问题,直接调用clang-12没问题,但是调用clang就报错了。既然提示找不到clang-12,那我把android-ndk-r23b\toolchains\llvm\prebuilt\linux-x86_64\bin
添加到PATH总可以了吧,结果还是编译失败,变成提示no input file。怎么想都觉得不对劲,明明一直都可以的,怎么突然就不行了。肯定和环境变量啥的没关系。各种google无果后,想想不会又是因为因为ndk是放在共享文件夹的原因吧?于是直接在虚拟机里下载ndk,重新添加到PATH里,再试一下,居然就又好了!!!
正常的编译输出
./build_android.sh
node --loader ts-node/esm /usr/svn/swsw/puerts/unity/cli/cmd.mts make --backend v8_9.4 --platform android --arch armv7
(node:2935) ExperimentalWarning: `--experimental-loader` may be removed in the future; instead use `register()`:
--import 'data:text/javascript,import { register } from "node:module"; import { pathToFileURL } from "node:url"; register("ts-node/esm", pathToFileURL("./"));'
(Use `node --trace-warnings ...` to show where the warning was created)
cmake --version
[Puer] download skip: v8_9.4 already exists
cmake -DBACKEND_DEFINITIONS="V8_94_OR_NEWER" -DBACKEND_LIB_NAMES="/Lib/Android/armeabi-v7a/libwee8.a" -DBACKEND_INC_NAMES="/Inc" -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DJS_ENGINE=v8_9.4 -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI=armeabi-v7a -H. -B/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4 -DCMAKE_TOOLCHAIN_FILE=/usr/android/android-ndk-r23b/build/cmake/android.toolchain.cmake -DANDROID_NATIVE_API_LEVEL=android-23 -DANDROID_TOOLCHAIN=clang -DANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-4.9
-- ANDROID_PLATFORM not set. Defaulting to minimum supported version 16.
-- Android: Targeting API '16' with architecture 'arm', ABI 'armeabi-v7a', and processor 'armv7-a'
-- Android: Selected unified Clang toolchain
-- The C compiler identification is Clang 12.0.8
-- The CXX compiler identification is Clang 12.0.8
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (0.5s)
-- Generating done (0.0s)
CMake Warning:
Manually-specified variables were not used by the project:
ANDROID_TOOLCHAIN_NAME
-- Build files have been written to: /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4
cmake --build /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4 --config Release
Change Dir: '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4'
Run Build Command(s): /usr/local/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile
/usr/local/bin/cmake -S/usr/svn/swsw/puerts/unity/native_src_il2cpp -B/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4 --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/bin/cmake -E cmake_progress_start /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4/CMakeFiles /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4//CMakeFiles/progress.marks
/usr/bin/gmake -f CMakeFiles/Makefile2 all
gmake[1]: Entering directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4'
/usr/bin/gmake -f CMakeFiles/puerts_il2cpp.dir/build.make CMakeFiles/puerts_il2cpp.dir/depend
gmake[2]: Entering directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4'
cd /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4 && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /usr/svn/swsw/puerts/unity/native_src_il2cpp /usr/svn/swsw/puerts/unity/native_src_il2cpp /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4 /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4 /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4/CMakeFiles/puerts_il2cpp.dir/DependInfo.cmake "--color="
gmake[2]: Leaving directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4'
/usr/bin/gmake -f CMakeFiles/puerts_il2cpp.dir/build.make CMakeFiles/puerts_il2cpp.dir/build
gmake[2]: Entering directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4'
[ 11%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=armv7-none-linux-androideabi16 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/Puerts.cpp
/usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/Puerts.cpp:181:5: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
Obj->Set(Context, POEnv->SymbolCSPtr.Get(Isolate), v8::External::New(Context->GetIsolate(), runtimeObject));
^~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
[ 22%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/PesapiV8Impl.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=armv7-none-linux-androideabi16 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/PesapiV8Impl.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/PesapiV8Impl.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/PesapiV8Impl.cpp.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/PesapiV8Impl.cpp
[ 33%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/PesapiAddonLoad.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=armv7-none-linux-androideabi16 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/PesapiAddonLoad.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/PesapiAddonLoad.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/PesapiAddonLoad.cpp.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/PesapiAddonLoad.cpp
[ 44%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/CppObjectMapper.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=armv7-none-linux-androideabi16 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/CppObjectMapper.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/CppObjectMapper.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/CppObjectMapper.cpp.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/CppObjectMapper.cpp
/usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/CppObjectMapper.cpp:199:9: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
PersistentObjectEnvInfo.PendingReleaseObjects[i].Get(Isolate)->Delete(
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
[ 55%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/DataTransfer.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=armv7-none-linux-androideabi16 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/DataTransfer.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/DataTransfer.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/DataTransfer.cpp.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/DataTransfer.cpp
[ 66%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/JSClassRegister.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=armv7-none-linux-androideabi16 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/JSClassRegister.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/JSClassRegister.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/JSClassRegister.cpp.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/JSClassRegister.cpp
[ 77%] Building CXX object CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=armv7-none-linux-androideabi16 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp.o -c /usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp
/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp:671:9: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
resolver->Reject(Context, TryCatch.Exception());
^~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp:677:9: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
resolver->Reject(Context, TryCatch.Exception());
^~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp:683:9: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
resolver->Reject(Context, TryCatch.Exception());
^~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp:689:9: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
resolver->Reject(Context, TryCatch.Exception());
^~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp:693:5: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
resolver->Resolve(Context, moduleChecked->GetModuleNamespace());
^~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 warnings generated.
[ 88%] Building CXX object CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unreal/Puerts/Source/JsEnv/Private/V8InspectorImpl.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=armv7-none-linux-androideabi16 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unreal/Puerts/Source/JsEnv/Private/V8InspectorImpl.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unreal/Puerts/Source/JsEnv/Private/V8InspectorImpl.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unreal/Puerts/Source/JsEnv/Private/V8InspectorImpl.cpp.o -c /usr/svn/swsw/puerts/unreal/Puerts/Source/JsEnv/Private/V8InspectorImpl.cpp
[100%] Linking CXX static library libpuerts_il2cpp.a
/usr/local/bin/cmake -P CMakeFiles/puerts_il2cpp.dir/cmake_clean_target.cmake
/usr/local/bin/cmake -E cmake_link_script CMakeFiles/puerts_il2cpp.dir/link.txt --verbose=1
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar qc libpuerts_il2cpp.a CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o CMakeFiles/puerts_il2cpp.dir/Src/PesapiV8Impl.cpp.o CMakeFiles/puerts_il2cpp.dir/Src/PesapiAddonLoad.cpp.o CMakeFiles/puerts_il2cpp.dir/Src/CppObjectMapper.cpp.o CMakeFiles/puerts_il2cpp.dir/Src/DataTransfer.cpp.o CMakeFiles/puerts_il2cpp.dir/Src/JSClassRegister.cpp.o CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp.o CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unreal/Puerts/Source/JsEnv/Private/V8InspectorImpl.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib libpuerts_il2cpp.a
combine wee8.
cp /usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Lib/Android/armeabi-v7a/libwee8.a ./
cp /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4/libpuerts_il2cpp.a ./libpuerts_il2cpp_tmp.a
ar -x libpuerts_il2cpp_tmp.a
ar -rs libwee8.a *.o
mv libwee8.a /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4/libpuerts_il2cpp.a
rm libpuerts_il2cpp_tmp.a
rm -f *.o
gmake[2]: Leaving directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4'
[100%] Built target puerts_il2cpp
gmake[1]: Leaving directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4'
/usr/local/bin/cmake -E cmake_progress_start /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_armv7_v8_9.4/CMakeFiles 0
node --loader ts-node/esm /usr/svn/swsw/puerts/unity/cli/cmd.mts make --backend v8_9.4 --platform android --arch arm64
(node:3059) ExperimentalWarning: `--experimental-loader` may be removed in the future; instead use `register()`:
--import 'data:text/javascript,import { register } from "node:module"; import { pathToFileURL } from "node:url"; register("ts-node/esm", pathToFileURL("./"));'
(Use `node --trace-warnings ...` to show where the warning was created)
cmake --version
[Puer] download skip: v8_9.4 already exists
cmake -DBACKEND_DEFINITIONS="V8_94_OR_NEWER" -DBACKEND_LIB_NAMES="/Lib/Android/arm64-v8a/libwee8.a" -DBACKEND_INC_NAMES="/Inc" -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DJS_ENGINE=v8_9.4 -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI=arm64-v8a -H. -B/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4 -DCMAKE_TOOLCHAIN_FILE=/usr/android/android-ndk-r23b/build/cmake/android.toolchain.cmake -DANDROID_NATIVE_API_LEVEL=android-23 -DANDROID_TOOLCHAIN=clang -DANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-clang
-- ANDROID_PLATFORM not set. Defaulting to minimum supported version 16.
-- android-16 is not supported for arm64-v8a. Using minimum supported LP64 version 21.
-- Android: Targeting API '21' with architecture 'arm64', ABI 'arm64-v8a', and processor 'aarch64'
-- Android: Selected unified Clang toolchain
-- The C compiler identification is Clang 12.0.8
-- The CXX compiler identification is Clang 12.0.8
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (0.2s)
-- Generating done (0.0s)
CMake Warning:
Manually-specified variables were not used by the project:
ANDROID_TOOLCHAIN_NAME
-- Build files have been written to: /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4
cmake --build /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4 --config Release
Change Dir: '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4'
Run Build Command(s): /usr/local/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile
/usr/local/bin/cmake -S/usr/svn/swsw/puerts/unity/native_src_il2cpp -B/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4 --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/bin/cmake -E cmake_progress_start /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4/CMakeFiles /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4//CMakeFiles/progress.marks
/usr/bin/gmake -f CMakeFiles/Makefile2 all
gmake[1]: Entering directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4'
/usr/bin/gmake -f CMakeFiles/puerts_il2cpp.dir/build.make CMakeFiles/puerts_il2cpp.dir/depend
gmake[2]: Entering directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4'
cd /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4 && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /usr/svn/swsw/puerts/unity/native_src_il2cpp /usr/svn/swsw/puerts/unity/native_src_il2cpp /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4 /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4 /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4/CMakeFiles/puerts_il2cpp.dir/DependInfo.cmake "--color="
gmake[2]: Leaving directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4'
/usr/bin/gmake -f CMakeFiles/puerts_il2cpp.dir/build.make CMakeFiles/puerts_il2cpp.dir/build
gmake[2]: Entering directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4'
[ 11%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=aarch64-none-linux-android21 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM64 -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/Puerts.cpp
/usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/Puerts.cpp:181:5: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
Obj->Set(Context, POEnv->SymbolCSPtr.Get(Isolate), v8::External::New(Context->GetIsolate(), runtimeObject));
^~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
[ 22%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/PesapiV8Impl.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=aarch64-none-linux-android21 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM64 -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/PesapiV8Impl.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/PesapiV8Impl.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/PesapiV8Impl.cpp.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/PesapiV8Impl.cpp
[ 33%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/PesapiAddonLoad.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=aarch64-none-linux-android21 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM64 -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/PesapiAddonLoad.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/PesapiAddonLoad.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/PesapiAddonLoad.cpp.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/PesapiAddonLoad.cpp
[ 44%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/CppObjectMapper.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=aarch64-none-linux-android21 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM64 -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/CppObjectMapper.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/CppObjectMapper.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/CppObjectMapper.cpp.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/CppObjectMapper.cpp
/usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/CppObjectMapper.cpp:199:9: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
PersistentObjectEnvInfo.PendingReleaseObjects[i].Get(Isolate)->Delete(
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
[ 55%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/DataTransfer.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=aarch64-none-linux-android21 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM64 -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/DataTransfer.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/DataTransfer.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/DataTransfer.cpp.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/DataTransfer.cpp
[ 66%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/JSClassRegister.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=aarch64-none-linux-android21 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM64 -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/JSClassRegister.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/JSClassRegister.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/JSClassRegister.cpp.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/JSClassRegister.cpp
[ 77%] Building CXX object CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=aarch64-none-linux-android21 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM64 -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp.o -c /usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp
/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp:671:9: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
resolver->Reject(Context, TryCatch.Exception());
^~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp:677:9: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
resolver->Reject(Context, TryCatch.Exception());
^~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp:683:9: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
resolver->Reject(Context, TryCatch.Exception());
^~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp:689:9: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
resolver->Reject(Context, TryCatch.Exception());
^~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp:693:5: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
resolver->Resolve(Context, moduleChecked->GetModuleNamespace());
^~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 warnings generated.
[ 88%] Building CXX object CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unreal/Puerts/Source/JsEnv/Private/V8InspectorImpl.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=aarch64-none-linux-android21 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM64 -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unreal/Puerts/Source/JsEnv/Private/V8InspectorImpl.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unreal/Puerts/Source/JsEnv/Private/V8InspectorImpl.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unreal/Puerts/Source/JsEnv/Private/V8InspectorImpl.cpp.o -c /usr/svn/swsw/puerts/unreal/Puerts/Source/JsEnv/Private/V8InspectorImpl.cpp
[100%] Linking CXX static library libpuerts_il2cpp.a
/usr/local/bin/cmake -P CMakeFiles/puerts_il2cpp.dir/cmake_clean_target.cmake
/usr/local/bin/cmake -E cmake_link_script CMakeFiles/puerts_il2cpp.dir/link.txt --verbose=1
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar qc libpuerts_il2cpp.a CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o CMakeFiles/puerts_il2cpp.dir/Src/PesapiV8Impl.cpp.o CMakeFiles/puerts_il2cpp.dir/Src/PesapiAddonLoad.cpp.o CMakeFiles/puerts_il2cpp.dir/Src/CppObjectMapper.cpp.o CMakeFiles/puerts_il2cpp.dir/Src/DataTransfer.cpp.o CMakeFiles/puerts_il2cpp.dir/Src/JSClassRegister.cpp.o CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp.o CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unreal/Puerts/Source/JsEnv/Private/V8InspectorImpl.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib libpuerts_il2cpp.a
combine wee8.
cp /usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Lib/Android/arm64-v8a/libwee8.a ./
cp /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4/libpuerts_il2cpp.a ./libpuerts_il2cpp_tmp.a
ar -x libpuerts_il2cpp_tmp.a
ar -rs libwee8.a *.o
mv libwee8.a /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4/libpuerts_il2cpp.a
rm libpuerts_il2cpp_tmp.a
rm -f *.o
gmake[2]: Leaving directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4'
[100%] Built target puerts_il2cpp
gmake[1]: Leaving directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4'
/usr/local/bin/cmake -E cmake_progress_start /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_arm64_v8_9.4/CMakeFiles 0
node --loader ts-node/esm /usr/svn/swsw/puerts/unity/cli/cmd.mts make --backend v8_9.4 --platform android --arch x64
(node:3183) ExperimentalWarning: `--experimental-loader` may be removed in the future; instead use `register()`:
--import 'data:text/javascript,import { register } from "node:module"; import { pathToFileURL } from "node:url"; register("ts-node/esm", pathToFileURL("./"));'
(Use `node --trace-warnings ...` to show where the warning was created)
cmake --version
[Puer] download skip: v8_9.4 already exists
cmake -DBACKEND_DEFINITIONS="V8_94_OR_NEWER" -DBACKEND_LIB_NAMES="/Lib/Android/x64/libwee8.a" -DBACKEND_INC_NAMES="/Inc" -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DJS_ENGINE=v8_9.4 -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI=x86_64 -H. -B/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4 -DCMAKE_TOOLCHAIN_FILE=/usr/android/android-ndk-r23b/build/cmake/android.toolchain.cmake -DANDROID_NATIVE_API_LEVEL=android-23 -DANDROID_TOOLCHAIN=clang -DANDROID_TOOLCHAIN_NAME=x86_64-4.9
-- ANDROID_PLATFORM not set. Defaulting to minimum supported version 16.
-- android-16 is not supported for x86_64. Using minimum supported LP64 version 21.
-- Android: Targeting API '21' with architecture 'x86_64', ABI 'x86_64', and processor 'x86_64'
-- Android: Selected unified Clang toolchain
-- The C compiler identification is Clang 12.0.8
-- The CXX compiler identification is Clang 12.0.8
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (0.2s)
-- Generating done (0.0s)
CMake Warning:
Manually-specified variables were not used by the project:
ANDROID_TOOLCHAIN_NAME
-- Build files have been written to: /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4
cmake --build /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4 --config Release
Change Dir: '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4'
Run Build Command(s): /usr/local/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile
/usr/local/bin/cmake -S/usr/svn/swsw/puerts/unity/native_src_il2cpp -B/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4 --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/bin/cmake -E cmake_progress_start /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4/CMakeFiles /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4//CMakeFiles/progress.marks
/usr/bin/gmake -f CMakeFiles/Makefile2 all
gmake[1]: Entering directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4'
/usr/bin/gmake -f CMakeFiles/puerts_il2cpp.dir/build.make CMakeFiles/puerts_il2cpp.dir/depend
gmake[2]: Entering directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4'
cd /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4 && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /usr/svn/swsw/puerts/unity/native_src_il2cpp /usr/svn/swsw/puerts/unity/native_src_il2cpp /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4 /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4 /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4/CMakeFiles/puerts_il2cpp.dir/DependInfo.cmake "--color="
gmake[2]: Leaving directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4'
/usr/bin/gmake -f CMakeFiles/puerts_il2cpp.dir/build.make CMakeFiles/puerts_il2cpp.dir/build
gmake[2]: Entering directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4'
[ 11%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=x86_64-none-linux-android21 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM64 -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/Puerts.cpp
/usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/Puerts.cpp:181:5: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
Obj->Set(Context, POEnv->SymbolCSPtr.Get(Isolate), v8::External::New(Context->GetIsolate(), runtimeObject));
^~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
[ 22%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/PesapiV8Impl.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=x86_64-none-linux-android21 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM64 -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/PesapiV8Impl.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/PesapiV8Impl.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/PesapiV8Impl.cpp.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/PesapiV8Impl.cpp
[ 33%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/PesapiAddonLoad.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=x86_64-none-linux-android21 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM64 -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/PesapiAddonLoad.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/PesapiAddonLoad.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/PesapiAddonLoad.cpp.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/PesapiAddonLoad.cpp
[ 44%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/CppObjectMapper.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=x86_64-none-linux-android21 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM64 -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/CppObjectMapper.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/CppObjectMapper.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/CppObjectMapper.cpp.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/CppObjectMapper.cpp
/usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/CppObjectMapper.cpp:199:9: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
PersistentObjectEnvInfo.PendingReleaseObjects[i].Get(Isolate)->Delete(
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
[ 55%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/DataTransfer.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=x86_64-none-linux-android21 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM64 -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/DataTransfer.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/DataTransfer.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/DataTransfer.cpp.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/DataTransfer.cpp
[ 66%] Building CXX object CMakeFiles/puerts_il2cpp.dir/Src/JSClassRegister.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=x86_64-none-linux-android21 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM64 -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/Src/JSClassRegister.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/Src/JSClassRegister.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/Src/JSClassRegister.cpp.o -c /usr/svn/swsw/puerts/unity/native_src_il2cpp/Src/JSClassRegister.cpp
[ 77%] Building CXX object CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=x86_64-none-linux-android21 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM64 -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp.o -c /usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp
/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp:671:9: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
resolver->Reject(Context, TryCatch.Exception());
^~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp:677:9: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
resolver->Reject(Context, TryCatch.Exception());
^~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp:683:9: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
resolver->Reject(Context, TryCatch.Exception());
^~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp:689:9: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
resolver->Reject(Context, TryCatch.Exception());
^~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp:693:5: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
resolver->Resolve(Context, moduleChecked->GetModuleNamespace());
^~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 warnings generated.
[ 88%] Building CXX object CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unreal/Puerts/Source/JsEnv/Private/V8InspectorImpl.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=x86_64-none-linux-android21 --sysroot=/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEXPERIMENTAL_IL2CPP_PUERTS -DPLATFORM_ANDROID_ARM64 -DV8_94_OR_NEWER -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../Assets/core/upm/Plugins/puerts_il2cpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/Inc -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/Source/JsEnv/Private -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/websocketpp -I/usr/svn/swsw/puerts/unity/native_src_il2cpp/../../unreal/Puerts/ThirdParty/Include/asio -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -std=gnu++14 -fPIC -MD -MT CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unreal/Puerts/Source/JsEnv/Private/V8InspectorImpl.cpp.o -MF CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unreal/Puerts/Source/JsEnv/Private/V8InspectorImpl.cpp.o.d -o CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unreal/Puerts/Source/JsEnv/Private/V8InspectorImpl.cpp.o -c /usr/svn/swsw/puerts/unreal/Puerts/Source/JsEnv/Private/V8InspectorImpl.cpp
[100%] Linking CXX static library libpuerts_il2cpp.a
/usr/local/bin/cmake -P CMakeFiles/puerts_il2cpp.dir/cmake_clean_target.cmake
/usr/local/bin/cmake -E cmake_link_script CMakeFiles/puerts_il2cpp.dir/link.txt --verbose=1
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar qc libpuerts_il2cpp.a CMakeFiles/puerts_il2cpp.dir/Src/Puerts.cpp.o CMakeFiles/puerts_il2cpp.dir/Src/PesapiV8Impl.cpp.o CMakeFiles/puerts_il2cpp.dir/Src/PesapiAddonLoad.cpp.o CMakeFiles/puerts_il2cpp.dir/Src/CppObjectMapper.cpp.o CMakeFiles/puerts_il2cpp.dir/Src/DataTransfer.cpp.o CMakeFiles/puerts_il2cpp.dir/Src/JSClassRegister.cpp.o CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unity/native_src/Src/BackendEnv.cpp.o CMakeFiles/puerts_il2cpp.dir/usr/svn/swsw/puerts/unreal/Puerts/Source/JsEnv/Private/V8InspectorImpl.cpp.o
/usr/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib libpuerts_il2cpp.a
combine wee8.
cp /usr/svn/swsw/puerts/unity/native_src_il2cpp/../native_src/.backends/v8_9.4/Lib/Android/x64/libwee8.a ./
cp /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4/libpuerts_il2cpp.a ./libpuerts_il2cpp_tmp.a
ar -x libpuerts_il2cpp_tmp.a
ar -rs libwee8.a *.o
mv libwee8.a /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4/libpuerts_il2cpp.a
rm libpuerts_il2cpp_tmp.a
rm -f *.o
gmake[2]: Leaving directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4'
[100%] Built target puerts_il2cpp
gmake[1]: Leaving directory '/usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4'
/usr/local/bin/cmake -E cmake_progress_start /usr/svn/swsw/puerts/unity/native_src_il2cpp/build_android_x64_v8_9.4/CMakeFiles 0