C++ Android NDK链接器(GStreamer)-链接器名称无效-fuse ld=gold
正在尝试在Windows上使用Android Studio为Android安装GStreamer。我大部分时间都在尽我所能地跟随他们的教程,同时也在看(加上我能找到的任何有帮助的东西)。我得到一个: 错误:错误:参数'-fuse ld=gold'中的链接器名称无效 My Android.mk:C++ Android NDK链接器(GStreamer)-链接器名称无效-fuse ld=gold,c++,android-studio,android-ndk,linker,gstreamer,C++,Android Studio,Android Ndk,Linker,Gstreamer,正在尝试在Windows上使用Android Studio为Android安装GStreamer。我大部分时间都在尽我所能地跟随他们的教程,同时也在看(加上我能找到的任何有帮助的东西)。我得到一个: 错误:错误:参数'-fuse ld=gold'中的链接器名称无效 My Android.mk: LOCAL\u路径:=$(调用我的目录) 包括$(清除变量) 本地_模块:=应用程序 本地\u SRC\u文件:=app-1.c 本地共享库:=gstreamer\u android 本地_LDLIBS
LOCAL\u路径:=$(调用我的目录)
包括$(清除变量)
本地_模块:=应用程序
本地\u SRC\u文件:=app-1.c
本地共享库:=gstreamer\u android
本地_LDLIBS:=-landroid
包括$(构建共享库)
ifndef GSTREAMER_根
ifndef GSTREAMER\u ROOT\u ANDROID
$(错误GSTREAMER\u ROOT\u未定义ANDROID!)
恩迪夫
GSTREAMER\u ROOT:=$(GSTREAMER\u ROOT\u ANDROID)
恩迪夫
GSTREAMER\u NDK\u BUILD\u PATH:=$(GSTREAMER\u ROOT)\share\gst android\NDK BUILD
GSTREAMER_插件:=coreelements ogg theora vorbis videoconvert audioconvert audioresample播放glimagesink汤opensles
G_IO_模块:=gnutls
GSTREAMER\u EXTRA\u DEPS:=GSTREAMER-video-1.0
include$(GSTREAMER\u NDK\u BUILD\u PATH)\GSTREAMER-1.0.mk
尝试链接库的clang.exe
进程有问题。注意,不需要像问题链接中的安装说明那样更改ld.exe
文件
修复:您需要在GStreamer目录中更改每个架构的两个文件,以便链接器被称为
gold.exe
,而不是gold
对于您感兴趣的每种体系结构,您需要转到(以arm64为例):
(一)
path\to\Gstreamer\root\arm64\share\gst-android\ndk build\Gstreamer-1.0.mk
并将-fuse-ld=gold
更改为-fuse-ld=gold.exe
(它在文件中只出现一次)
现在转到:
(二)
path\to\Gstreamer\root\arm64\include\gmp.h
并将-fuse ld=gold
更改为-fuse ld=gold.exe
(同样,仅出现一次)
在我发布的
Android.mk
和gradle
文件中有一些小的修改,以使内容完全编译,但这似乎超出了这个问题的范围(将-llog添加到本地ldlibs并仅使用核心插件)。我找到了将gold编辑为gold.exe的地方,如果成功,将进行更新。如果有人知道如何标记为重复(我是新的),那么就有了。