错误信息:

Build command failed.
Error while executing process D:\Android\SDK\android-sdk-windows\cmake\3.6.4111459\bin\cmake.exe with arguments {--build E:\demo\20200427\2\GB28181Android-master\gb28181library\.externalNativeBuild\cmake\debug\arm64-v8a --target gb_native}
[1/4] Building CXX object CMakeFiles/gb_native.dir/src/main/cpp/gb28181_muxer.cpp.o
[2/4] Building CXX object CMakeFiles/gb_native.dir/src/main/cpp/gb_native.cpp.o
[3/4] Building CXX object CMakeFiles/gb_native.dir/src/main/cpp/GB28181_sender.cpp.o
In file included from E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\gb_native.cpp:5:

In file included from E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/gb28181_muxer.h:10:

错误1:

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/user_arguments.h:8:1: warning: typedef requires a name [-Wmissing-declarations]

typedef struct UserArguments {

^~~~~~~

1 warning generated.

FAILED: D:\Android\SDK\android-sdk-windows\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe  --target=aarch64-none-linux-android21 --gcc-toolchain=D:/Android/SDK/android-sdk-windows/ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64 --sysroot=D:/Android/SDK/android-sdk-windows/ndk-bundle/sysroot  -Dgb_native_EXPORTS -isystem D:/Android/SDK/android-sdk-windows/ndk-bundle/sources/cxx-stl/llvm-libc++/include -isystem D:/Android/SDK/android-sdk-windows/ndk-bundle/sources/cxx-stl/llvm-libc++abi/include -isystem D:/Android/SDK/android-sdk-windows/ndk-bundle/sysroot/usr/include/aarch64-linux-android -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -std=c++14 -O0 -fno-limit-debug-info  -fPIC -MD -MT CMakeFiles/gb_native.dir/src/main/cpp/GB28181_sender.cpp.o -MF CMakeFiles\gb_native.dir\src\main\cpp\GB28181_sender.cpp.o.d -o CMakeFiles/gb_native.dir/src/main/cpp/GB28181_sender.cpp.o -c E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\GB28181_sender.cpp
In file included from E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\GB28181_sender.cpp:6:

In file included from E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/GB28181_sender.h:20:

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/user_arguments.h:8:1: warning: typedef requires a name [-Wmissing-declarations]

typedef struct UserArguments {

^~~~~~~

问题2

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\GB28181_sender.cpp:70:66: warning: format specifies type 'long long' but the argument has type 'unsigned long' [-Wformat]

        LOGI("[sender]read from queue%lld\t I/O time%lld", t1 - start_t, t2 - t1);

                                             ~~~~                          ^~~~~~~~~~~~

                                             %lu

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/log.h:12:71: note: expanded from macro 'LOGI'

#define LOGI(...) if(DEBUG){__android_log_print(ANDROID_LOG_INFO,TAG ,__VA_ARGS__);} // LOGI

                                                                      ^~~~~~~~~~~

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\GB28181_sender.cpp:70:80: warning: format specifies type 'long long' but the argument has type 'unsigned long' [-Wformat]

        LOGI("[sender]read from queue%lld\t I/O time%lld", t1 - start_t, t2 - t1);

                                                                    ~~~~                 ^~~~~~~

                                                                    %lu

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/log.h:12:71: note: expanded from macro 'LOGI'

#define LOGI(...) if(DEBUG){__android_log_print(ANDROID_LOG_INFO,TAG ,__VA_ARGS__);} // LOGI

                                                                      ^~~~~~~~~~~

问题3

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\GB28181_sender.cpp:152:17: error: no viable conversion from '__bind' to 'int'

            int ret = bind(sockfd, (struct sockaddr *) &client_addr, sizeof(client_addr));

                ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3 warnings and 1 error generated.

In file included from E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\gb28181_muxer.cpp:2:

In file included from E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/gb28181_muxer.h:10:

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/user_arguments.h:8:1: warning: typedef requires a name [-Wmissing-declarations]

typedef struct UserArguments {

^~~~~~~

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\gb28181_muxer.cpp:33:27: warning: 'codec' is deprecated [-Wdeprecated-declarations]

    pCodecCtx = video_st->codec;

                          ^

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/include/libavformat/avformat.h:892:5: note: 'codec' has been explicitly marked deprecated here

    attribute_deprecated

    ^

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/include/libavcodec/../libavutil/attributes.h:94:49: note: expanded from macro 'attribute_deprecated'

#    define attribute_deprecated __attribute__((deprecated))

                                                ^

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\gb28181_muxer.cpp:54:10: warning: format specifies type 'long long' but the argument has type 'int64_t' (aka 'long') [-Wformat]

         arguments->video_bit_rate,

         ^~~~~~~~~~~~~~~~~~~~~~~~~

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/log.h:12:71: note: expanded from macro 'LOGI'

#define LOGI(...) if(DEBUG){__android_log_print(ANDROID_LOG_INFO,TAG ,__VA_ARGS__);} // LOGI

                                                                      ^~~~~~~~~~~

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\gb28181_muxer.cpp:102:20: warning: 'avpicture_get_size' is deprecated [-Wdeprecated-declarations]

    picture_size = avpicture_get_size(pCodecCtx->pix_fmt, pCodecCtx->width, pCodecCtx->height);

                   ^

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/include/libavformat/../libavcodec/avcodec.h:5536:1: note: 'avpicture_get_size' has been explicitly marked deprecated here

attribute_deprecated

^

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/include/libavcodec/../libavutil/attributes.h:94:49: note: expanded from macro 'attribute_deprecated'

#    define attribute_deprecated __attribute__((deprecated))

                                                ^

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\gb28181_muxer.cpp:133:65: warning: format specifies type 'long long' but the argument has type 'long' [-Wformat]

    LOGI("[muxer][send in]send raw Frame to queue time%lld", et - st);

                                                              ~~~~   ^~~~~~~

                                                              %ld

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/log.h:12:71: note: expanded from macro 'LOGI'

#define LOGI(...) if(DEBUG){__android_log_print(ANDROID_LOG_INFO,TAG ,__VA_ARGS__);} // LOGI

                                                                      ^~~~~~~~~~~

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\gb28181_muxer.cpp:171:5: warning: 'avpicture_fill' is deprecated [-Wdeprecated-declarations]

    avpicture_fill((AVPicture *) pNewFrame, buf, gb28181Muxer->pCodecCtx->pix_fmt, gb28181Muxer->pCodecCtx->width,

    ^

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/include/libavformat/../libavcodec/avcodec.h:5521:1: note: 'avpicture_fill' has been explicitly marked deprecated here

attribute_deprecated

^

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/include/libavcodec/../libavutil/attributes.h:94:49: note: expanded from macro 'attribute_deprecated'

#    define attribute_deprecated __attribute__((deprecated))

                                                ^

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\gb28181_muxer.cpp:205:126: warning: format specifies type 'long long' but the argument has type 'long' [-Wformat]

        LOGI("[muxer][encode]fetch raw frame from queue time%lld (video frame queue left%d)in FFmpeg time%lld.", et1 - st, gb28181Muxer->video_queue.size(), et2 - et1);

                                                                    ~~~~                                                                         ^~~~~~~~

                                                                    %ld

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/log.h:12:71: note: expanded from macro 'LOGI'

#define LOGI(...) if(DEBUG){__android_log_print(ANDROID_LOG_INFO,TAG ,__VA_ARGS__);} // LOGI

                                                                      ^~~~~~~~~~~

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\gb28181_muxer.cpp:205:170: warning: format specifies type 'long long' but the argument has type 'long' [-Wformat]

        LOGI("[muxer][encode]fetch raw frame from queue time%lld (video frame queue left%d)in FFmpeg time%lld.", et1 - st, gb28181Muxer->video_queue.size(), et2 - et1);

                                                                                                                                         ~~~~                                                ^~~~~~~~~

                                                                                                                                         %ld

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/log.h:12:71: note: expanded from macro 'LOGI'

#define LOGI(...) if(DEBUG){__android_log_print(ANDROID_LOG_INFO,TAG ,__VA_ARGS__);} // LOGI

                                                                      ^~~~~~~~~~~

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\gb28181_muxer.cpp:234:22: warning: format specifies type 'long long' but the argument has type 'int64_t' (aka 'long') [-Wformat]

                     gb28181Muxer->nowPkt->pts, gb28181Muxer->video_queue.size());

                     ^~~~~~~~~~~~~~~~~~~~~~~~~

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/log.h:12:71: note: expanded from macro 'LOGI'

#define LOGI(...) if(DEBUG){__android_log_print(ANDROID_LOG_INFO,TAG ,__VA_ARGS__);} // LOGI

                                                                      ^~~~~~~~~~~

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\gb28181_muxer.cpp:252:86: warning: format specifies type 'long long' but the argument has type 'long' [-Wformat]

                 gb28181Muxer->video_queue.size(), gb28181Muxer->audio_queue.size(), et - st);

                                                                                     ^~~~~~~

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/log.h:12:71: note: expanded from macro 'LOGI'

#define LOGI(...) if(DEBUG){__android_log_print(ANDROID_LOG_INFO,TAG ,__VA_ARGS__);} // LOGI

                                                                      ^~~~~~~~~~~

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\gb28181_muxer.cpp:389:33: warning: 'codec' is deprecated [-Wdeprecated-declarations]

        avcodec_close(video_st->codec);

                                ^

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/include/libavformat/avformat.h:892:5: note: 'codec' has been explicitly marked deprecated here

    attribute_deprecated

    ^

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/include/libavcodec/../libavutil/attributes.h:94:49: note: expanded from macro 'attribute_deprecated'

#    define attribute_deprecated __attribute__((deprecated))

                                                ^

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\gb28181_muxer.cpp:428:10: warning: format specifies type 'long long' but the argument has type 'int64_t' (aka 'long') [-Wformat]

         gb28181Muxer->nowPkt->pts,

         ^~~~~~~~~~~~~~~~~~~~~~~~~

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/log.h:12:71: note: expanded from macro 'LOGI'

#define LOGI(...) if(DEBUG){__android_log_print(ANDROID_LOG_INFO,TAG ,__VA_ARGS__);} // LOGI

                                                                      ^~~~~~~~~~~

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\gb28181_muxer.cpp:429:10: warning: format specifies type 'long long' but the argument has type 'long' [-Wformat]

         gb28181Muxer->nextPkt->pts - gb28181Muxer->nowPkt->pts,

         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/log.h:12:71: note: expanded from macro 'LOGI'

#define LOGI(...) if(DEBUG){__android_log_print(ANDROID_LOG_INFO,TAG ,__VA_ARGS__);} // LOGI

                                                                      ^~~~~~~~~~~

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\gb28181_muxer.cpp:430:10: warning: format specifies type 'long long' but the argument has type 'int64_t' (aka 'long') [-Wformat]

         gb28181Muxer->nextPkt->pts, audioCnt);

         ^~~~~~~~~~~~~~~~~~~~~~~~~~

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/log.h:12:71: note: expanded from macro 'LOGI'

#define LOGI(...) if(DEBUG){__android_log_print(ANDROID_LOG_INFO,TAG ,__VA_ARGS__);} // LOGI

                                                                      ^~~~~~~~~~~

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp\gb28181_muxer.cpp:468:5: warning: 'av_free_packet' is deprecated [-Wdeprecated-declarations]

    av_free_packet(gb28181Muxer->nowPkt);

    ^

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/include/libavformat/../libavcodec/avcodec.h:4533:1: note: 'av_free_packet' has been explicitly marked deprecated here

attribute_deprecated

^

E:\demo\20200427\2\GB28181Android-master\gb28181library\src\main\cpp/include/libavcodec/../libavutil/attributes.h:94:49: note: expanded from macro 'attribute_deprecated'

#    define attribute_deprecated __attribute__((deprecated))

                                                ^

15 warnings generated.

ninja: build stopped: subcommand failed.

解决方案:

 问题1:上图为解决方案: 类型后面添加 userArguments

问题2: LOGI("[sender]read from queue:%lld\t I/O time:%lld", t1 - start_t, t2 - t1);中打印类型出错,

 将 %lld 改成 %lu, lu表示无类型参数

问题3:int ret = bind(sockfd, (struct sockaddr *) &client_addr, sizeof(client_addr)); 

改为      int ret = ::bind(sockfd, (struct sockaddr *) &client_addr, sizeof(client_addr)); 

::表示不调用标准库

 

更多相关文章

  1. android studio 报编码 GBK 的不可映射字符问题
  2. Android摄像头相关问题记录
  3. android googlemap权限问题
  4. Android(安卓)textview 显示不全的问题
  5. drawable类型
  6. android中的数据库——学习
  7. ListView之setEmptyView的问题
  8. android中的ellipsize设置(省略号的问题)
  9. 关于Android学习要问的一些问题

随机推荐

  1. Android中Dialog对话框使用总结及demo
  2. AndEngine文本绘制
  3. Android应用程序启动画面
  4. android 学习知识点累计
  5. android 分析(2)
  6. Multiple APK Support in Android(安卓)M
  7. android 拖拽图片
  8. android 內存等使用情況(转)
  9. Android: 修改ramdisk.img
  10. Android(安卓)点击按钮隐藏键盘