Android NDK和CMake-如何使用CMake生成Makefile,该Makefile将使用提供的.mk文件来构建第三方.so。

问题描述 投票:1回答:1

我正在尝试创建一个使用gstreamer的android应用。我已经使用cerbero从android的源代码构建,并且之前在Android.mk中指定了静态库。然后,ndk-build正在为基于JNI的Android应用程序生成libgstreamer_android.so。

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := native-lib
LOCAL_SRC_FILES := native-lib.cpp
LOCAL_SHARED_LIBRARIES := gstreamer_android
LOCAL_LDLIBS := -llog -landroid
include $(BUILD_SHARED_LIBRARY)

GSTREAMER_ROOT := /home/cerbero/build/dist/android_arm64

GSTREAMER_NDK_BUILD_PATH  := $(GSTREAMER_ROOT)/share/gst-android/ndk-build/
include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk
GSTREAMER_PLUGINS         := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_PLAYBACK) $(GSTREAMER_PLUGINS_CODECS) $(GSTREAMER_PLUGINS_NET) $(GSTREAMER_PLUGINS_SYS)
G_IO_MODULES              := gnutls
GSTREAMER_EXTRA_DEPS      := gstreamer-video-1.0
include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer-1.0.mk

我的问题是我现在想使用CMakeLists,但我不确定如何指示,或者让CMake为ndk-build生成指令以生成libgstreamer_android.so。我需要尝试将plugins.mk和gstreamer-1.0.mk中的指令转换为等效的CMake命令,还是可以将这些.mk文件包含在我的版本中?

android cmake android-ndk gstreamer
1个回答
0
投票

我想知道您是否找到了将GStreamer .mk文件转换为CMakeList的解决方案?因为我目前也正面临这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.