Tencent / puerts

PUER(普洱) Typescript. Let's write your game in UE or Unity with TypeScript.
Other
4.96k stars 695 forks source link

[Unity] Bug: 2022.3.14f1+xll2cpp打安卓包报错:duplicate symbol: pesapi_add_return #1780

Closed Halliwood closed 2 months ago

Halliwood commented 2 months ago

前置阅读 | Pre-reading

Puer的版本 | Puer Version

2.0.4

Unity的版本 | Unity Version

2023.3.14f1

发生在哪个平台 | Platform

Android

错误信息 | Error Message

2021的打包没问题,2022的项目打包会包duplicate symbol,是我哪里设置不对?

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

ld.lld: error: duplicate symbol: pesapi_alloc_type_infos
>>> defined at pesapi_adpt.c:412 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:412)
>>>            iz17/qhwsep44f230.o:(pesapi_alloc_type_infos)
>>> defined at PesapiV8Impl.cpp:680 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:680)
>>>            PesapiV8Impl.cpp.o:(.text.pesapi_alloc_type_infos+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a

ld.lld: error: duplicate symbol: pesapi_call_function
>>> defined at pesapi_adpt.c:400 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:400)
>>>            iz17/qhwsep44f230.o:(pesapi_call_function)
>>> defined at PesapiV8Impl.cpp:604 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:604)
>>>            PesapiV8Impl.cpp.o:(.text.pesapi_call_function+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a

ld.lld: error: duplicate symbol: pesapi_close_scope
>>> defined at pesapi_adpt.c:346 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:346)
>>>            iz17/qhwsep44f230.o:(pesapi_close_scope)
>>> defined at PesapiV8Impl.cpp:512 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:512)
>>>            PesapiV8Impl.cpp.o:(.text.pesapi_close_scope+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a

ld.lld: error: duplicate symbol: pesapi_create_binary
>>> defined at pesapi_adpt.c:76 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:76)
>>>            iz17/qhwsep44f230.o:(pesapi_create_binary)
>>> defined at PesapiV8Impl.cpp:145 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:145)
>>>            PesapiV8Impl.cpp.o:(.text.pesapi_create_binary+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a

ld.lld: error: duplicate symbol: pesapi_create_boolean
>>> defined at pesapi_adpt.c:34 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:34)
>>>            iz17/qhwsep44f230.o:(pesapi_create_boolean)
>>> defined at PesapiV8Impl.cpp:102 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:102)
>>>            PesapiV8Impl.cpp.o:(.text.pesapi_create_boolean+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a

ld.lld: error: duplicate symbol: pesapi_create_double
>>> defined at pesapi_adpt.c:64 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:64)
>>>            iz17/qhwsep44f230.o:(pesapi_create_double)
>>> defined at PesapiV8Impl.cpp:132 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:132)
>>>            PesapiV8Impl.cpp.o:(.text.pesapi_create_double+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a

ld.lld: error: duplicate symbol: pesapi_create_int32
>>> defined at pesapi_adpt.c:40 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:40)
>>>            iz17/qhwsep44f230.o:(pesapi_create_int32)
>>> defined at PesapiV8Impl.cpp:108 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:108)
>>>            PesapiV8Impl.cpp.o:(.text.pesapi_create_int32+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a

ld.lld: error: duplicate symbol: pesapi_create_int64
>>> defined at pesapi_adpt.c:52 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:52)
>>>            iz17/qhwsep44f230.o:(pesapi_create_int64)
>>> defined at PesapiV8Impl.cpp:120 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:120)
>>>            PesapiV8Impl.cpp.o:(.text.pesapi_create_int64+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a

ld.lld: error: duplicate symbol: pesapi_create_native_object
>>> defined at pesapi_adpt.c:202 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:202)
>>>            iz17/qhwsep44f230.o:(pesapi_create_native_object)
>>> defined at PesapiV8Impl.cpp:315 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:315)
>>>            PesapiV8Impl.cpp.o:(.text.pesapi_create_native_object+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a

ld.lld: error: duplicate symbol: pesapi_create_null
>>> defined at pesapi_adpt.c:22 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:22)
>>>            iz17/qhwsep44f230.o:(pesapi_create_null)
>>> defined at PesapiV8Impl.cpp:90 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:90)
>>>            PesapiV8Impl.cpp.o:(.text.pesapi_create_null+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a

ld.lld: error: duplicate symbol: pesapi_create_ref
>>> defined at pesapi_adpt.c:226 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:226)
>>>            iz17/qhwsep44f230.o:(pesapi_create_ref)
>>> defined at PesapiV8Impl.cpp:347 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:347)
>>>            PesapiV8Impl.cpp.o:(.text.pesapi_create_ref+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a

ld.lld: error: duplicate symbol: pesapi_create_signature_info
>>> defined at pesapi_adpt.c:424 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:424)
>>>            iz17/qhwsep44f230.o:(pesapi_create_signature_info)
>>> defined at PesapiV8Impl.cpp:694 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:694)
>>>            PesapiV8Impl.cpp.o:(.text.pesapi_create_signature_info+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a

ld.lld: error: duplicate symbol: pesapi_create_string_utf8
>>> defined at pesapi_adpt.c:70 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:70)
>>>            iz17/qhwsep44f230.o:(pesapi_create_string_utf8)
>>> defined at PesapiV8Impl.cpp:138 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:138)
>>>            PesapiV8Impl.cpp.o:(.text.pesapi_create_string_utf8+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a

ld.lld: error: duplicate symbol: pesapi_create_uint32
>>> defined at pesapi_adpt.c:46 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:46)
>>>            iz17/qhwsep44f230.o:(pesapi_create_uint32)
>>> defined at PesapiV8Impl.cpp:114 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:114)
>>>            PesapiV8Impl.cpp.o:(.text.pesapi_create_uint32+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a

ld.lld: error: duplicate symbol: pesapi_create_uint64
>>> defined at pesapi_adpt.c:58 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:58)
>>>            iz17/qhwsep44f230.o:(pesapi_create_uint64)
>>> defined at PesapiV8Impl.cpp:126 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:126)
>>>            PesapiV8Impl.cpp.o:(.text.pesapi_create_uint64+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a

ld.lld: error: duplicate symbol: pesapi_create_undefined
>>> defined at pesapi_adpt.c:28 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:28)
>>>            iz17/qhwsep44f230.o:(pesapi_create_undefined)
>>> defined at PesapiV8Impl.cpp:96 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:96)
>>>            PesapiV8Impl.cpp.o:(.text.pesapi_create_undefined+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a

ld.lld: error: duplicate symbol: pesapi_define_class
>>> defined at pesapi_adpt.c:448 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:448)
>>>            iz17/qhwsep44f230.o:(pesapi_define_class)
>>> defined at PesapiV8Impl.cpp:768 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:768)
>>>            PesapiV8Impl.cpp.o:(.text.pesapi_define_class+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a

ld.lld: error: duplicate symbol: pesapi_duplicate_env_holder
>>> defined at pesapi_adpt.c:316 (F:/build/swsw_android/export/unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput\pesapi_adpt.c:316)
>>>            iz17/qhwsep44f230.o:(pesapi_duplicate_env_holder)
>>> defined at PesapiV8Impl.cpp:457 (/usr/svn/swsw/puerts/unity/native_src_il2cpp\Src/PesapiV8Impl.cpp:457)
>>>            PesapiV8Impl.cpp.o:(.text.pesapi_duplicate_env_holder+0x1) in archive F:/build/swsw_android/export/unityLibrary/src/main/jniStaticLibs/armeabi-v7a/libpuerts_il2cpp.a

问题重现 | Bug reproduce

直接gradle打出来的工程 f:\gradle\gradle-7.2\bin\gradle -p F:\build\swsw_android\export assemRelease

Halliwood commented 2 months ago

发现问题了,我是在windows下generate的。。。 image

Halliwood commented 2 months ago

切到android重新generate