Сбой упаковки Unreal Engine для Android: отсутствуют библиотеки Protobuf и ошибки компоновщикаAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Сбой упаковки Unreal Engine для Android: отсутствуют библиотеки Protobuf и ошибки компоновщика

Сообщение Anonymous »

Я пытаюсь упаковать свой проект Unreal Engine для Android с помощью Unreal Engine 5.4. В проект входит плагин Convai, который зависит от gRPC и Protobuf. Однако во время упаковки я столкнулся со следующей ошибкой компоновщика:
Сообщение об ошибке:

Код: Выделить всё

your text

Код: Выделить всё

`Android (ASTC)): InstalledDir: C:/Users/iassi/AppData/Local/Android/Sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/windows-x86_64/bin
UATHelper: Packaging (Android (ASTC)): NDK toolchain: r26b, NDK version: 260200, ClangVersion: 17.0.2
UATHelper: Packaging (Android (ASTC)): Compiling Native 64-bit code with NDK API 'android-34'
UATHelper: Packaging (Android (ASTC)): Link: C:\Users\iassi\AppData\Local\Android\Sdk\ndk\26.1.10909125\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe  -static-libstdc++ -no-canonical-prefixes -shared -Wl,-Bsymbolic -Wl,--no-undefined -Wl,--gc-sections --target=aarch64-none-linux-android34 --gcc-toolchain="C:/Users/iassi/AppData/Local/Android/Sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/windows-x86_64" --sysroot="C:/Users/iassi/AppData/Local/Android/Sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/windows-x86_64/sysroot" -DANDROID=1 -march=armv8-a -Wl,-no-pie -fuse-ld=lld -Wl,-soname,
libUnreal.so -Wl,--build-id=sha1 -Wl,--pack-dyn-relocs=android+relr,--use-android-relr-tags -Wl,--hash-style=gnu -z max-page-size=65536 -o "C:/Users/iassi/OneDrive/Documents/Unreal Projects/test3/Binaries/Android/test3-arm64.so" @"C:/Users/iassi/OneDrive/Documents/Unreal Projects/test3/Intermediate/Build/Android/a/test3/Development/test3-arm64.so.rsp"
UATHelper: Packaging (Android (ASTC)): Link: C:\Users\iassi\AppData\Local\Android\Sdk\ndk\26.1.10909125\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe  -static-libstdc++ -no-canonical-prefixes -shared -Wl,-Bsymbolic -Wl,--no-undefined -Wl,--gc-sections --target=x86_64-none-linux-android34 --gcc-toolchain="C:/Users/iassi/AppData/Local/Android/Sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/windows-x86_64" --sysroot="C:/Users/iassi/AppData/Local/Android/Sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/windows-x86_64/sysroot" -DANDROID=1 -march=atom -Wl,-no-pie -fuse-ld=lld -Wl,-soname,libU
nreal.so -Wl,--build-id=sha1 -Wl,--pack-dyn-relocs=android+relr,--use-android-relr-tags -Wl,--hash-style=gnu -z max-page-size=65536 -o "C:/Users/iassi/OneDrive/Documents/Unreal Projects/test3/Binaries/Android/test3-x64.so" @"C:/Users/iassi/OneDrive/Documents/Unreal Projects/test3/Intermediate/Build/Android/x/test3/Development/test3-x64.so.rsp"
UATHelper: Packaging (Android (ASTC)): Writing manifest to C:\Users\iassi\OneDrive\Documents\Unreal Projects\test3\Intermediate\Build\Manifest.xml
UATHelper: Packaging (Android (ASTC)): Building test3...
UATHelper: Packaging (Android (ASTC)): [Adaptive Build] Excluded from test3 unity file: test3.cpp
UATHelper: Packaging (Android (ASTC)): Determining max actions to execute in parallel (14 physical cores, 20 logical cores)
UATHelper: Packaging (Android (ASTC)):   Executing up to 14 processes, one per physical core
UATHelper: Packaging (Android (ASTC)):   Requested 1.5 GB memory per action, 728.52 MB available: limiting max parallel actions to 1
UATHelper: Packaging (Android (ASTC)): Using Parallel executor to run 7 action(s)
UATHelper: Packaging (Android (ASTC)): ------ Building 7 action(s) started ------
UATHelper: Packaging (Android (ASTC)): [1/7] Compile [arm64] SharedPCH.Core.Project.ValApi.Cpp20.h
UATHelper: Packaging (Android (ASTC)): [2/7] Compile [x64] SharedPCH.Core.Project.ValApi.Cpp20.h
UATHelper: Packaging (Android (ASTC)): [3/7] Compile [arm64] test3.cpp
UATHelper: Packaging (Android (ASTC)): [4/7] clang++ test3-arm64.so
UATHelper: Packaging (Android (ASTC)): [5/7] Compile [x64] test3.cpp
UATHelper: Packaging (Android (ASTC)): [6/7] clang++ test3-x64.so
UATHelper: Packaging (Android (ASTC)): ld.lld: error: undefined symbol: google::protobuf::io::StringOutputStream::StringOutputStream(std::__ndk1::basic_string*)
UATHelper: Packaging (Android (ASTC)): >>> referenced by csharp_generator.cc:778 (C:/Storage/Software/Tools/gRPC/Convai_grpc/grpc/src/compiler/csharp_generator.cc:778)
UATHelper: Packaging (Android (ASTC)): >>>               csharp_generator.cc.o:(grpc_csharp_generator::GetServices(google::protobuf::FileDescriptor const*, bool, bool, bool)) in archive C:/Program Files/Epic Games/ext/UE_5.4/Engine/Plugins/Marketplace/Convai/Source/ThirdParty/gRPC/lib/android/x86_64/libgrpc_plugin_support.a
UATHelper: Packaging (Android (ASTC)): ld.lld: error: undefined symbol: google::protobuf::io::Printer::Printer(google::protobuf::io::ZeroCopyOutputStream*, char)
UATHelper: Packaging (Android (ASTC)): >>>  referenced by csharp_generator.cc:779 (C:/Storage/Software/Tools/gRPC/Convai_grpc/grpc/src/compiler/csharp_generator.cc:779)
UATHelper: Packaging (Android (ASTC)): >>>               csharp_generator.cc.o:(grpc_csharp_generator::GetServices(google::protobuf::FileDescriptor const*, bool, bool, bool)) in archive C:/Program Files/Epic Games/ext/UE_5.4/Engine/Plugins/Marketplace/Convai/Source/ThirdParty/gRPC/lib/android/x86_64/libgrpc_plugin_support.a
UATHelper: Packaging (Android (ASTC)): ld.lld: error: undefined symbol: google::protobuf::io::Printer::Print(std::__ndk1::map const&, char const*)`
Что я пробовал:
Проверка папки плагина Convai:
Исходный код плагина/ThirdParty/gRPC/lib/android/ В каталоге отсутствуют необходимые статические библиотеки protobuf (libprotobuf.a, libprotobuf-lite.a и libprotoc.a) для архитектур Android, таких как Arm64-v8a.
Поиск предварительно скомпилированных библиотек Protobuf:
Я проверил выпуски Protobuf на GitHub, но они предлагают только предварительно скомпилированные библиотеки для настольных платформ (Linux, macOS, Windows). Библиотеки Android не включены.
Попытка изменить Platform.json:
Я обновил файл Platform.json, включив в него API уровня 34, но это не решило проблему с упаковкой. .
Пересборка проекта:
Очищены папки «Промежуточные» и «Сохраненные», проект перестроен несколько раз.
Сведения о среде:
Unreal Версия двигателя: 5.4
Версия Android NDK: r26b
Целевой уровень API: android-34
Версия плагина Convai: последняя (по состоянию на ноябрь 2024 г.)
Версия Protobuf: для работы требуется версия не ниже 3.21 соответствует gRPC.
Вопросы:
Как устранить ошибки компоновщика и получить или собрать недостающие библиотеки protobuf (libprotobuf.a, libprotobuf-lite.a, libprotoc.a) для таких архитектур Android, как Arm64-v8a?
Есть ли более простой способ интегрировать необходимые библиотеки Protobuf в плагин Convai или проект Unreal для Android?
Может ли проблема быть связана с несовпадающими версиями NDK или конфигурациями Protobuf?
Любые рекомендации, подробные шаги или примеры будут очень полезны. оценено!
Что я пробовал:
Проверка папки плагина Convai:
Исходный код плагина/ThirdParty/gRPC/lib/ В каталоге android/ отсутствуют необходимые статические библиотеки protobuf (libprotobuf.a, libprotobuf-lite.a и libprotoc.a) для таких архитектур Android, как Arm64-v8a.
Поиск предварительно скомпилированных библиотек Protobuf:
Я проверил выпуски Protobuf на GitHub, но они предлагают только предварительно скомпилированные библиотеки для настольных платформ (Linux, macOS, Windows). Библиотеки Android не включены.
Попытка изменить Platform.json:
Я обновил файл Platform.json, включив в него API уровня 34, но это не решило проблему с упаковкой. .
Перестройка проекта:
Очищены папки «Промежуточные» и «Сохраненные», а также несколько раз перестроен проект.

Подробнее здесь: https://stackoverflow.com/questions/792 ... and-linker
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как устранить отсутствующие библиотеки Protobuf и ошибки компоновщика во время упаковки?
    Anonymous » » в форуме Android
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Как устранить отсутствующие библиотеки Protobuf и ошибки компоновщика во время упаковки?
    Anonymous » » в форуме Android
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Проблема с связыванием статической библиотеки для C++ (проект Unreal Engine 5)
    Anonymous » » в форуме C++
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Код ошибки Build.bat 6 в Unreal Engine 5
    Anonymous » » в форуме C++
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Ошибки Unreal Engine Gradle, нужна помощь
    Anonymous » » в форуме Android
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»