Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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
C++ Android NDK链接器(GStreamer)-链接器名称无效-fuse ld=gold_C++_Android Studio_Android Ndk_Linker_Gstreamer - Fatal编程技术网

C++ Android NDK链接器(GStreamer)-链接器名称无效-fuse ld=gold

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

正在尝试在Windows上使用Android Studio为Android安装GStreamer。我大部分时间都在尽我所能地跟随他们的教程,同时也在看(加上我能找到的任何有帮助的东西)。我得到一个:

错误:错误:参数'-fuse ld=gold'中的链接器名称无效

My Android.mk:

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的地方,如果成功,将进行更新。如果有人知道如何标记为重复(我是新的),那么就有了。