centos7 编译licode 报error: ‘alloc_size’ 错误

在CentOS7上编译licode时遇到两个错误:1) 'alloc_size' attribute ignored错误,解决办法是在src/erizo/CMakeLists.txt中添加-Wno-error选项;2) 'x264_bit_depth' undeclared错误,原因是使用的x264版本较新,需要降级到v11.9.tar.gz或在编译x264时加上--enable-shared,并链接pthread库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、错误信息:

      centos7 编译licode时,libav 总是报alloc_size的错误,all warnings being treated as errors所有的警告都被当成了错误,这样就会无缘无故报很多错误。修改CMakeLists开启警告信息,不用把警告当错误。

libdeps/build/include/libavutil/mem.h:174:79: error: ‘alloc_size’ attribute ignored on a function returning ‘int’ [-Werror=attributes]

解决方法,打开文件src/erizo/CMakeLists.txt,找到CMAKE_CXX_FLAGS ,添加-Wno-error。

if(${ERIZO_BUILD_TYPE} STREQUAL "debug")
  message("Generating DEBUG project")
  set(CMAKE_CXX_FLAGS "-g -Wall  -std=c++14 ${ERIZO_CMAKE_CXX_FLAGS} -Wno-error")
elseif(${ERIZO_BUILD_TYPE} STREQUAL "sanitizer")
    message("Generating SANITIZER project")
    set(CMAKE_CXX_FLAGS "-g -Wall -std=c++14 ${ERIZO_CMAKE_CXX_FLAGS} -O1 -fno-omit-frame-pointer -fsanitize=address -fno-optimize-sibling-calls")
else()
  message("Generating RELEASE project")
  set(CMAKE_CXX_FLAGS "-g -Wall -O3 -std=c++14 ${ERIZO_CMAKE_CXX_FLAGS}" -Wno-error)
endif()

二、error: ‘x264_bit_depth’ undeclared

          自己手动安装x264时需要注意一点,licode中所用的liav的版本是v11.9.tar.gz 版本比较老了,所以用最新的x264代码会出现

x264_bit_depth 未定义错误,可以换成这个版本

wget http://ftp.videolan.org/pub/x264/snapshots/x264-snapshot-20170517-2245-stable.tar.bz2

编译的时候记着加上--enable-shared ,不然会报 -fpic错误。

 

另外需要加上pthread库 src/erzo/CMakeLists

target_link_libraries(erizo ${boost_LIBRARIES} ${SRTP} ${SSL} ${CRYPTO} ${LIBS} ${LOG} pthread webrtc)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

致一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值