Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在使用CMake(CMakeLists.txt)而非ndk构建(android.mk)的android ndk项目中包括GStreamer_Android_C++_Cmake_Android Ndk_Android Gradle Plugin - Fatal编程技术网

在使用CMake(CMakeLists.txt)而非ndk构建(android.mk)的android ndk项目中包括GStreamer

在使用CMake(CMakeLists.txt)而非ndk构建(android.mk)的android ndk项目中包括GStreamer,android,c++,cmake,android-ndk,android-gradle-plugin,Android,C++,Cmake,Android Ndk,Android Gradle Plugin,我有一个android项目,目前使用Cmake包含所有.cpp/.c代码。现在我想添加GStreamer本机库,以便在本机代码中使用它们。 但是gstreamer文件 只有使用ndk构建的文档才能在android上使用gstreamer 现在我不想完全重构我的项目来使用ndk build和Android.mk,因为 CMake完成了它的工作,我从来没有遇到过问题 如本文所述,cmake是android ndk的默认值 我还需要包括使用cmake的googlevr ndk库 所以我需要找到一个解决

我有一个android项目,目前使用Cmake包含所有.cpp/.c代码。现在我想添加GStreamer本机库,以便在本机代码中使用它们。 但是gstreamer文件 只有使用ndk构建的文档才能在android上使用gstreamer

现在我不想完全重构我的项目来使用ndk build和Android.mk,因为

  • CMake完成了它的工作,我从来没有遇到过问题

  • 如本文所述,cmake是android ndk的默认值

  • 我还需要包括使用cmake的googlevr ndk库

  • 所以我需要找到一个解决办法,因此需要你的帮助。以下是我想到的一些想法

  • 每个模块都可以支持以太cmake或ndk构建。所以,, 我可能可以使用ndk build添加一个新模块,并在其中包含gstreamer(但gstreamer仅在该模块中可用)
  • 在android studio中使用cmake为android编译gstreamer——但我看不到以前已经做过的证据,也看不到没有强大cmake知识的人可能做得到的证据

  • 还有其他想法/改进吗?谢谢

    在某个时候,我放弃了gstreamer,现在改用ffmpeg。 有一个很好的编译ffmpeg的教程,使在android项目中包含本机ffmpeg变得非常容易:


    即使您已经离开GStreamer,但如果其他人面临此问题,请查看以下github存储库

    对于我自己,我不得不做两个修改

  • 我修改了GSTREAMER_ROOT的定义,将ANDROID_ABI包括在内,如下所示

    #GStreamer 集合(GSTREAMER\u ROOT$ENV{GSTREAMER\u ROOT\u ANDROID}/${ANDROID\u ABI})

  • 我不得不根据ANDROID_ABI重命名GStreamer预构建二进制文件中的文件夹。因此,我的Gstreamer预构建二进制文件文件夹如下所示

  • 在上述更改之后,我能够使用CMake使用GStreamer成功构建APK