haiyangwu / mediasoup-client-android

mediasoup android client side library https://mediasoup.org
MIT License
178 stars 107 forks source link

编译失败 #38

Closed Luosh closed 3 years ago

Luosh commented 3 years ago

clone 最新的dev代码, 用Android Studio编译出错. 是否有什么环境需要特别的指定.deps/webrtc的库是否可以正常使用? 求大神指点, 万分感谢

AILED: : && /opt/android/android-sdks/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++  --target=x86_64-none-linux-android21 --gcc-toolchain=/opt/android/android-sdks/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64 --sysroot=/opt/android/android-sdks/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security   -O0 -fno-limit-debug-info  -Wl,--exclude-libs,libgcc_real.a -Wl,--exclude-libs,libatomic.a -static-libstdc++ -Wl,--build-id -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -shared -Wl,-soname,libmediasoupclient_so.so -o ../../../../build/intermediates/cmake/debug/obj/x86_64/libmediasoupclient_so.so CMakeFiles/mediasoupclient_so.dir/src/main/jni/jni_generator_helper.cpp.o CMakeFiles/mediasoupclient_so.dir/src/main/jni/jni_onload.cpp.o CMakeFiles/mediasoupclient_so.dir/src/main/jni/scoped_java_ref.cpp.o CMakeFiles/mediasoupclient_so.dir/src/main/jni/java_types.cpp.o CMakeFiles/mediasoupclient_so.dir/src/main/jni/consumer_jni.cpp.o CMakeFiles/mediasoupclient_so.dir/src/main/jni/device_jni.cpp.o CMakeFiles/mediasoupclient_so.dir/src/main/jni/logger_jni.cpp.o CMakeFiles/mediasoupclient_so.dir/src/main/jni/mediasoup_client_jni.cpp.o CMakeFiles/mediasoupclient_so.dir/src/main/jni/peerconnection_jni.cpp.o CMakeFiles/mediasoupclient_so.dir/src/main/jni/producer_jni.cpp.o CMakeFiles/mediasoupclient_so.dir/src/main/jni/transport_jni.cpp.o CMakeFiles/mediasoupclient_so.dir/src/androidTest/jni/parameters_jni.cpp.o CMakeFiles/mediasoupclient_so.dir/deps/libmediasoupclient/test/src/fakeParameters.cpp.o  -landroid -llog -lOpenSLES deps/libmediasoupclient/libmediasoupclient.a deps/libmediasoupclient/libsdptransform/libsdptransform.a -Wl,--whole-archive ../../../../deps/webrtc/lib/x86_64/libwebrtc.a -Wl,--no-whole-archive -latomic -lm && :
/opt/android/android-sdks/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: error: ../../../../deps/webrtc/lib/x86_64/libwebrtc.a:1:9: syntax error, unexpected STRING
/opt/android/android-sdks/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: error: ../../../../deps/webrtc/lib/x86_64/libwebrtc.a: not an object or archive
../../../../deps/webrtc/src/rtc_base/checks.h:223: error: undefined reference to 'rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)'
../../../../deps/webrtc/src/rtc_base/checks.h:223: error: undefined reference to 'rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)'
../../../../deps/webrtc/src/rtc_base/checks.h:223: error: undefined reference to 'rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)'
../../../../deps/webrtc/src/rtc_base/checks.h:223: error: undefined reference to 'rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)'
/home/luosh/work/project/mediasoup-client-android/mediasoup-client/src/main/jni/jni_generator_helper.cpp:26: error: undefined reference to 'webrtc::GetClass(_JNIEnv*, char const*)'
../../../../deps/webrtc/src/sdk/android/native_api/jni/scoped_java_ref.h:185: error: undefined reference to 'webrtc::AttachCurrentThreadIfNeeded()'
/home/luosh/work/project/mediasoup-client-android/mediasoup-client/src/main/jni/jni_onload.cpp:11: error: undefined reference to 'webrtc::jni::InitGlobalJniVariables(_JavaVM*)'
../../../../deps/webrtc/src/sdk/android/src/jni/class_reference_holder.h:24: error: undefined reference to 'webrtc::jni::GetEnv()'
../../../../deps/webrtc/src/sdk/android/src/jni/class_reference_holder.h:24: error: undefined reference to 'webrtc::InitClassLoader(_JNIEnv*)'
/home/luosh/work/project/mediasoup-client-android/mediasoup-client/deps/libmediasoupclient/src/ortc.cpp:1622: error: undefined reference to 'webrtc::H264::GenerateProfileLevelIdForAnswer(std::__ndk1::map<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, std::__ndk1::allocator<std::__ndk1::pair<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > > > const&, std::__ndk1::map<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, std::__ndk1::allocator<std::__ndk1::pair<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > > > const&, std::__ndk1::map<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, std::__ndk1::allocator<std::__ndk1::pair<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > > >*)'
Luosh commented 3 years ago

下载的库有问题, 大小不对. 尝试去 https://github.com/haiyangwu/webrtc-android-build 这里下载替换

Luosh commented 3 years ago

使用git lfs pull 下载. lfs 要安装.

janus-xiao commented 3 years ago

下载的库有问题, 大小不对. 尝试去 https://github.com/haiyangwu/webrtc-android-build 这里下载替换

请问要怎么编译libwebrtc.a文件呢

Gaomaxxr commented 3 years ago

谢老哥,我也编译失败了,替换了就ok了