Руководство по GStreamer для Android не удалось построить

1

Я сталкиваюсь с рядом проблем при попытке запустить GStreamer Android Tutorials для Windows. Я новичок в Android NDK, так что это может быть очень простой проблемой, но я не мог понять, как ее решить.

Это сообщения об ошибках сборки, когда я пытаюсь собрать проект

Команда сборки не удалась.

Ошибка при выполнении процесса D:\gstreamer\android-ndk-r19b-windows-x86_64\android-ndk-r19b\ndk -B uild.cmd с аргументами {NDK_PROJECT_PATH = null APP_BUILD_SCRIPT = C:\xxx\xxx\xxx gsst -master\examples\tutorials\android\android-tutorial-1\jni\Android.mk NDK_APPLICATION_MK = C:\xxx\xxx\gst-docs-master\examples\tutorials\android\android-tutorial-1\jni\Application.mk APP_ABI = armeabi-v7a NDK_ALL_ABIS = armeabi-v7a NDK_DEBUG = 0 APP_PLATFORM = android-16 NDK_OUT = C: /xxx/xxx/gst-docs-master/примеры/учебные пособия /android/промежуточные курсы 1/ndkBuild/release/obj NDK_LIBS_OUT = C:\xxx\xxx\gst-docs-master\examples\tutorials\android\android-tutorial-1\build\промежуточные звенья \ndkBuild\release\lib NDK_APPLICATION_MK = jni/Application.mkD_JR_SR_SR_SR_RID = src GSTREAMER_ROOT_ANDROID = D: /gstreamer/gstreamer-1.0-android-universal-1.15.1 GSTREAMER_ASSETS_DIR = src/assets APP_SHORT_COMMANDS = false LOCAL_SHORT_COMMANDS = false -B -n

process_begin: CreateProcess (NULL, "",...) не выполнен.

*** Android NDK: ошибка подтверждения: SYSROOT_LINK не определено. Стоп. Открыть файл

Когда я щелкнул "Открыть файл", он отправил меня в файл gstreamer-1.0.mk и строки ниже.

ifdef SYSROOT SYSROOT_GST_INC: = $ (SYSROOT) SYSROOT_GST_LINK: = $ (SYSROOT)

else ifdef SYSROOT_INC $ (вызов определен как assert, SYSROOT_LINK) ifdef SYSROOT_LINK SYSROOT_GST_INC: = $ (SYSROOT_INC) SYSROOT_GST_LINK: = $ (SYSROOT_LINK) endif ($) ($) TGTF_RF_RF_RF_R_F_D_WRT_F_D_T_F_T_F_T_F_L_K_T_T_T_T_T_T_T_F_T_T_T_F_L_T_K_T____T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_T_KT_G SYSROOT_GST_LINK: = $ (SYSROOT_GST_INC) endif endif

Я думаю, что проблема в SYS_ROOT, как упомянуто в сообщении об ошибке, но я не знаю, что означает "SYS_ROOT" или "NDK_PROJECT_PATH".

Я добавил gstAndroidRoot в gradle.properties, поэтому при сборке это не будет проблемой.

Теги:
android-ndk
gstreamer

1 ответ

0

У меня была та же проблема, причина в том, что D: /gstreamer/gstreamer-1.0-android-universal-1.15.1/{используемая вами арка}/share/gst-android/ndk-build/gstreamer-1.0.mk вызов SYSROOT_LINK, который не определен в строке 168, поэтому я прокомментировал эту строку.

ifdef SYSROOT
    SYSROOT_GST_INC := $(SYSROOT)
    SYSROOT_GST_LINK := $(SYSROOT)
else
    ifdef SYSROOT_INC
        # $(call assert-defined, SYSROOT_LINK) <-- COMMENT THIS!
        ifdef SYSROOT_LINK
            SYSROOT_GST_INC := $(SYSROOT_INC)
            SYSROOT_GST_LINK := $(SYSROOT_LINK)
        endif
    else
        SYSROOT_GST_INC := $(NDK_PLATFORMS_ROOT)/$(TARGET_PLATFORM)/arch-$(TARGET_ARCH)
        SYSROOT_GST_LINK := $(SYSROOT_GST_INC)
    endif
endif

Вероятно, $(call assert-defined, SYSROOT_LINK) есть по какой-то причине, поэтому, возможно, это неправильное решение, но оно работает.

  • 0
    Здравствуйте, я попробовал ваше решение, но сборка не удалась с другим сообщением об ошибке. Какую ОС вы используете, есть ли связь между ОС и ошибками сборки?
  • 0
    Я использую Linux Mint 19.1 (tessa), вероятно, вам придется сделать больше конфигураций для сборки GStreamer на Windows. Если вы хотите собрать GStreamer проще, вам нужно перейти на Linux, я рекомендую дистрибутивы linux mint или ubuntu.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню