在aarch版编译libEasyRTSPClient库无法通过问题解决

RTSPClient因其兼容性强,各种各样RTSP的兼容,各种各样的场景,大部分IPC的内置服务器都是基于live555的RTSPServer来二次开发实现的。但仍然有一部分摄像机是固定一条道,如果在这个过程中穿插着发了个OPTION或者GET_PARAMETER,摄像机直接就无响应了,所以我们在开发EasyRTSPClient的时候,开发了各种各样的选项,例如是否发保活、url是否带用户名密码等等。

最近我们的开发人员发现了一个问题:在aarch64环境下编译libEasyRTSPClient库时,编译无法通过,并且出现如下错误:

这个问题偶尔会出现,我们可以看到h265_stream.h:25 中定义了宏min

同时在
gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.4.1/vector:60:0中引用了头文件

gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/include/c++/7.4.1/bits/stl_algobase.h:

在stl_algobase.h:中又定义了min,所以出现重复定义min的问题,导致编译无法通过。

解决这个问题其实很简单,我们只需要在h265_stream.h中把min的定义放到#include 之后如下:

就能顺利通过编译了。

原文地址:https://www.cnblogs.com/EasyNVR/p/13222920.html