anyRTC-RTMP-OpenSource icon indicating copy to clipboard operation
anyRTC-RTMP-OpenSource copied to clipboard

编译通不过

Open yangqingjiushizhemeku opened this issue 6 years ago • 15 comments

麻烦请问下大佬能通过的 各项配置是啥啊 我down下项目编译直接报错 换了几个NDK 版本还是一样

Error while executing 'D:\develop\android\sdk\ndk-bundle\ndk-build.cmd' with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=E:\resouce\anyRTC-RTMP-OpenSource-master\Prj-Android\jni\toolchain\Android.mk APP_ABI=armeabi NDK_ALL_ABIS=armeabi NDK_DEBUG=0 APP_PLATFORM=android-16 NDK_OUT=E:/resouce/anyRTC-RTMP-OpenSource-master/Prj-Android/app/build/intermediates/ndkBuild/release/obj NDK_LIBS_OUT=E:\resouce\anyRTC-RTMP-OpenSource-master\Prj-Android\app\build\intermediates\ndkBuild\release\lib NDK_APPLICATION_MK:=../jni/Application.mk APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -n}

yangqingjiushizhemeku avatar Aug 07 '18 06:08 yangqingjiushizhemeku

你用的ndk版本是r17吗

5en avatar Aug 13 '18 09:08 5en

不支持armeabi

5en avatar Aug 13 '18 09:08 5en

刚开始用17不行 后面换了 10 也不行

yangqingjiushizhemeku avatar Aug 14 '18 01:08 yangqingjiushizhemeku

换了 17 去掉 armeabi 可以了 谢谢

yangqingjiushizhemeku avatar Aug 14 '18 01:08 yangqingjiushizhemeku

你现在换了什么版本 可以留个底给别人知道~能正常运行了吗

5en avatar Aug 14 '18 01:08 5en

能编译通过了 但是运行还是会报错 Error:A problem occurred configuring project ':app'.

executing external native build for ndkBuild E:\resouce\anyRTC-RTMP-OpenSource-master\Prj-Android\jni\toolchain\Android.mk

就是把 NDK 版本用 r17 abiFilters 去掉 armeabi 只留 v7a 然后ndk 的 目录应该放在 sdk目录下 不应该单独另放文件夹存储

yangqingjiushizhemeku avatar Aug 14 '18 02:08 yangqingjiushizhemeku

Build command failed. Error while executing process D:\Android\sdk\ndk-bundle\ndk-build.cmd with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=D:\workspace\anyRTC-RTMP-OpenSource-master\Prj-Android\jni\toolchain\Android.mk APP_ABI=armeabi-v7a NDK_ALL_ABIS=armeabi-v7a NDK_DEBUG=1 APP_PLATFORM=android-16 NDK_OUT=D:/workspace/anyRTC-RTMP-OpenSource-master/Prj-Android/app/build/intermediates/ndkBuild/debug/obj NDK_LIBS_OUT=D:\workspace\anyRTC-RTMP-OpenSource-master\Prj-Android\app\build\intermediates\ndkBuild\debug\lib NDK_APPLICATION_MK:=../jni/Application.mk D:/workspace/anyRTC-RTMP-OpenSource-master/Prj-Android/app/build/intermediates/ndkBuild/debug/obj/local/armeabi-v7a/libanyrtmp-jni.so} Android NDK: WARNING: APP_STL gnustl_static is deprecated and will be removed in the next release. Please switch to either c++_static or c++_shared. See https://developer.android.com/ndk/guides/cpp-support.html for more information.
Android NDK: WARNING: Deprecated NDK_TOOLCHAIN_VERSION value: 4.9. GCC is no longer supported and will be removed in the next release. See https://android.googlesource.com/platform/ndk/+/master/docs/ClangMigration.md.
Android NDK: WARNING:D:/workspace/anyRTC-RTMP-OpenSource-master/Prj-Android/jni/toolchain/../Android.mk:anyrtmp-jni: non-system libraries in linker flags: -lavformat -lavcodec -lavutil
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
Android NDK: WARNING: Unsupported source file extensions in D:/workspace/anyRTC-RTMP-OpenSource-master/Prj-Android/jni/toolchain/../../../webrtc/Android.mk for module webrtc
Android NDK: system_wrappers/source/trace_impl.h
[armeabi-v7a] Compile++ thumb: webrtc <= event_timer_posix.cc D:/workspace/anyRTC-RTMP-OpenSource-master/Prj-Android/jni/toolchain/../../../webrtc/system_wrappers/source/event_timer_posix.cc: In constructor 'webrtc::EventTimerPosix::EventTimerPosix()': D:/workspace/anyRTC-RTMP-OpenSource-master/Prj-Android/jni/toolchain/../../../webrtc/system_wrappers/source/event_timer_posix.cc:53:56: error: 'pthread_condattr_setclock' was not declared in this scope pthread_condattr_setclock(&cond_attr, CLOCK_MONOTONIC); ^ make: *** [D:/workspace/anyRTC-RTMP-OpenSource-master/Prj-Android/app/build/intermediates/ndkBuild/debug/obj/local/armeabi-v7a/objs/webrtc/system_wrappers/source/event_timer_posix.o] Error 1

yangdong123 avatar Aug 29 '18 02:08 yangdong123

arm64编译失败。 请问Prj-Android\jni\library下的文件是怎么编译出来的? 因为v64下只有一个文件,导致编译arm64编译失败。

zhongwcool avatar Sep 26 '18 10:09 zhongwcool

[armeabi-v7a] StaticLibrary : libyuv_static.a [armeabi-v7a] SharedLibrary : libanyrtmp-jni.so [armeabi-v7a] Install : libanyrtmp-jni.so => libs/armeabi-v7a/libanyrtmp-jni.so [armeabi-v7a] Install : libopenh264.so => libs/armeabi-v7a/libopenh264.so [armeabi-v7a] Install : libfaac.so => libs/armeabi-v7a/libfaac.so [armeabi-v7a] Install : libfaad2.so => libs/armeabi-v7a/libfaad2.so [arm64-v8a] Compile++ : anyrtmp-jni <= classreferenceholder.cc [arm64-v8a] Compile++ : anyrtmp-jni <= jni_helpers.cc [arm64-v8a] Compile++ : anyrtmp-jni <= jni_onload.cc [arm64-v8a] Compile++ : anyrtmp-jni <= native_handle_impl.cc [arm64-v8a] Compile++ : anyrtmp-jni <= androidmediaencoder_jni.cc [arm64-v8a] Compile++ : anyrtmp-jni <= androidvideocapturer_jni.cc [arm64-v8a] Compile++ : anyrtmp-jni <= surfacetexturehelper_jni.cc . . . D:/ide/android-ndk-r15c-x64/build//../toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin/ld.exe: cannot find -lavformat D:/ide/android-ndk-r15c-x64/build//../toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin/ld.exe: cannot find -lavcodec D:/ide/android-ndk-r15c-x64/build//../toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin/ld.exe: cannot find -lavutil collect2.exe: error: ld returned 1 exit status make: *** [C:/Users/alex/Desktop/anyRTC-RTMP-OpenSource-master/Prj-Android/obj/local/arm64-v8a/libanyrtmp-jni.so] Error 1

ndk版本多少?用ndk r10e试下。

DyncMing avatar Sep 26 '18 10:09 DyncMing

用的ndk-r15c,armeabi-v7a可以编译成功。 我想办法下载个ndk r10e试试。

zhongwcool avatar Sep 27 '18 01:09 zhongwcool

@DyncMing 你好,希望能帮忙看下这个问题

zhongwcool avatar Sep 29 '18 10:09 zhongwcool

@zhongwcool 具体的是什么问题?你是在Linux编译的还是cygwin下编译的?

DyncMing avatar Oct 08 '18 02:10 DyncMing

@zhongwcool 具体的是什么问题?你是在Linux编译的还是cygwin下编译的?

使用的是cygwin。 我分析问题认为可能出在:在解决"Reuse FFMpeg replace of OpenH264 to decode h264 data",Prj-Android\jni\library\v64没有上传“libavcodec.a\libavformat.a..”等静态库(导致armeabi-v7a编译成功,但arm64-v8a 编译失败)。 所以想请问这几个.a 文件如何编译,感谢。

zhongwcool avatar Oct 08 '18 06:10 zhongwcool

@zhongwcool 具体的是什么问题?你是在Linux编译的还是cygwin下编译的?

使用的是cygwin。 我分析问题认为可能出在:在解决"Reuse FFMpeg replace of OpenH264 to decode h264 data",Prj-Android\jni\library\v64没有上传“libavcodec.a\libavformat.a..”等静态库(导致armeabi-v7a编译成功,但arm64-v8a 编译失败)。 所以想请问这几个.a 文件如何编译,感谢。

在Ubuntu下单独编译的FFmpeg源码。

DyncMing avatar Oct 08 '18 07:10 DyncMing

@zhongwcool 具体的是什么问题?你是在Linux编译的还是cygwin下编译的?

使用的是cygwin。 我分析问题认为可能出在:在解决"Reuse FFMpeg replace of OpenH264 to decode h264 data",Prj-Android\jni\library\v64没有上传“libavcodec.a\libavformat.a..”等静态库(导致armeabi-v7a编译成功,但arm64-v8a 编译失败)。 所以想请问这几个.a 文件如何编译,感谢。

在Ubuntu下单独编译的FFmpeg源码。

希望您帮忙可以给出.a文件对应的ffmpeg的编译脚本或版本功能配置信息。我自己成功编译的ffmpeg 3.4.x中的 一系列.a静态库,但是无法适应用于此项目。

zhongwcool avatar Oct 16 '18 02:10 zhongwcool