amazon-kinesis-video-streams-webrtc-sdk-c 移植到linux开发板

大部分参考这位大神的资料

  1. 分析依赖关系。
    通过分析Cmakelist.txt得出了一些依赖关系。
    libkvsWebrtcClient.so 依赖项如下:
    libkvspicUtils.a libkvspicState.a libssl.so libcrypto.so libsrtp2.a . libusrsctp.so
    libkvsWebrtcSignalingClient.so 依赖项如下:
    libkvsCommonLws.a libwebsockets.a libkvspicUtils.a libkvspicState.a libssl.so libcrypto.so
    kvsWebrtcClientMaster可执行程序:
    libkvsWebrtcClient.so libkvsWebrtcSignalingClient.so libkvspicUtils.a libkvsCommonLws.a libwebsockets.a
    kvsWebrtcClientViewer可执行程序:
    libkvsWebrtcClient.so libkvsWebrtcSignalingClient.so libkvspicUtils.a libkvsCommonLws.a libwebsockets.a

amazon-kinesis-video-streams-producer-c-master
kvsCommonLws -> src/source/Common/.c
src/source/Common/Lws/
.c
依赖的库libcrypto.so libssl.so libwebsocket.so libkvspicUtils.so

amazon-kinesis-video-streams-pic-master
kvspicState -》 src/state/src/.c
无依赖
kvspicUtils -》 src/utils/src/
.c
target_link_libraries(kvspicUtils ${CMAKE_DL_LIBS} Threads::Threads)

  1. 开始对需要的依赖库进行交叉编译
    (1)libsrtp
./configure --prefix=$(pwd)/Bin_XS7300 --host=arm-linux   CC=/opt/xs-linux/xs7300/csky-abiv2-ux-linuxv3615/bin/csky-linux-uclibcabiv2-gcc CXX=/opt/xs-linux/xs7300/csky-abiv2-ux-linuxv3615/bin/csky-linux-uclibcabiv2-g++  CFLAGS=-Os
make & make install

(2)usrsctp

在这里插入代码片

(3)mbedtls

CC=csky-linux-uclibcabiv2-gcc cmake -DCMAKE_INSTALL_PREFIX=$(pwd)/Bin_XS7300 -DUSE_SHARED_MBEDTLS_LIBRARY=On -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTING=OFF -DENABLE_PROGRAMS=OFF ../

(4)Libevent

./autogen.sh;
./configure --prefix=$(pwd)/Bin_XS7300 CFLAGS=-I/home/crb/FFIPC-lib/temp/xs7300/third-party/openssl/include/  LDFLAGS=-L/home/crb/FFIPC-lib/temp/xs7300/third-party/openssl/lib --host=arm-linux CC=csky-linux-uclibcabiv2-gcc CXX=csky-linux-uclibcabiv2-g++

Make;
Make install; 

(5)Libwebsocket

cmake \
-DCMAKE_BUILD_TYPE=Release \
-DDEBUG=ON -DCMAKE_TOOLCHAIN_FILE=/usr/local/share/cmake-3.17/Modules/XS7300_toolchain.cmake \
-DLWS_WITH_SHARED=0 \
-DLWS_WITHOUT_SERVER=ON \
-DLWS_WITHOUT_TESTAPPS=ON \
-DLWS_WITH_ZLIB=OFF \
-DLWS_WITHOUT_EXTENSIONS=ON \
-DLWS_WITH_ZIP_FOPS=OFF \
-DLWS_MAX_SMP=1 \
-DLWS_HAVE_HMAC_CTX_new=1 \
-DLWS_HAVE_EVP_MD_CTX_free=1 \
-DLWS_HAVE_X509_VERIFY_PARAM_set1_host=1 \
-DLWS_WITH_LIBEVENT=ON -DLIBEVENT_INCLUDE_DIRS="/home/crb/FFIPC-lib/src/third-party/libs/amazon-kinesis-video-streams-webrtc-sdk-c-master/Library/XS7300/include/libevent/include" -DLIBEVENT_LIBRARIES="/home/crb/FFIPC-lib/src/third-party/libs/amazon-kinesis-video-streams-webrtc-sdk-c-master/Library/XS7300/lib/libevent.so "  \
 -DLWS_WITH_SSL=ON -DOPENSSL_INCLUDE_DIR="/home/crb/FFIPC-lib/temp/xs7300/third-party/openssl/include" -DLWS_OPENSSL_LIBRARIES="/home/crb/FFIPC-lib/temp/xs7300/third-party/openssl/lib/libssl.so;/home/crb/FFIPC-lib/temp/xs7300/third-party/openssl/lib/libcrypto.so" ..

make

这个是网上找来的,经过测试发现调用Libwebsocket库的时候一直会报错。“trace/breakpoint trap”
查了好久,发现把-DLWS_WITH_LIBEVENT=ON -DLIBEVENT_INCLUDE_DIRS="/home/crb/FFIPC-lib/src/third-party/libs/amazon-kinesis-video-streams-webrtc-sdk-c-master/Library/XS7300/include/libevent/include" -DLIBEVENT_LIBRARIES="/home/crb/FFIPC-lib/src/third-party/libs/amazon-kinesis-video-streams-webrtc-sdk-c-master/Library/XS7300/lib/libevent.so " \ 这些去掉重新编译就可以了。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值