You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Kinesis Video Streams C SDK无法链接C++程序求助

解决方案:AWS Kinesis Video Streams WebRTC SDK C++ 头文件缺失问题

问题根源

你遇到的头文件缺失错误,是因为Kinesis Video Streams WebRTC SDK依赖核心Producer SDK子模块,但你编译自己的C++程序时,仅添加了WebRTC SDK自身的头文件路径,没有包含子模块的头文件目录。缺失的com/amazonaws/kinesis/video/client/Include.h实际存放在WebRTC SDK的submodules/amazon-kinesis-video-streams-producer-sdk-c目录中。


分步解决

1. 确认子模块已正确拉取

首先检查WebRTC SDK目录下的子模块是否完整:

cd amazon-kinesis-video-streams-webrtc-sdk-c
# 检查子模块目录是否存在
ls submodules/amazon-kinesis-video-streams-producer-sdk-c/src/include/com/amazonaws/kinesis/video/client/

如果目录为空或不存在,重新同步并拉取子模块:

git submodule sync
git submodule update --init --recursive

2. 修正手动编译命令

修改你的clang++编译命令,添加子模块的头文件路径,并补充依赖的核心库(WebRTC SDK依赖Producer SDK的库文件):

clang++ -std=c++17 main.cpp -o main `pkg-config --cflags --libs opencv4` \
-I/Users/.../sample/amazon-kinesis-video-streams-webrtc-sdk-c/src/include \
-I/Users/.../sample/amazon-kinesis-video-streams-webrtc-sdk-c/submodules/amazon-kinesis-video-streams-producer-sdk-c/src/include \
-L/Users/.../sample/amazon-kinesis-video-streams-webrtc-sdk-c/build \
-Wl,-rpath,/Users/.../sample/amazon-kinesis-video-streams-webrtc-sdk-c/build \
-lkvsWebrtcClient -lkvsWebrtcSignalingClient -lkvsProducerClient -lkvsCommon

注意:将路径中的...替换为你实际的本地路径

3. 推荐使用CMake管理项目(适合C/C++新手)

手动敲编译命令容易出错,用CMake可以自动处理依赖路径和库链接:
创建CMakeLists.txt文件,内容如下:

cmake_minimum_required(VERSION 3.10)
project(kvs_webrtc_video_call)

set(CMAKE_CXX_STANDARD 17)

# 查找OpenCV依赖
find_package(OpenCV 4 REQUIRED)

# 添加KVS SDK相关头文件路径
include_directories(
    /Users/.../sample/amazon-kinesis-video-streams-webrtc-sdk-c/src/include
    /Users/.../sample/amazon-kinesis-video-streams-webrtc-sdk-c/submodules/amazon-kinesis-video-streams-producer-sdk-c/src/include
)

# 添加KVS SDK库文件路径
link_directories(/Users/.../sample/amazon-kinesis-video-streams-webrtc-sdk-c/build)

# 构建可执行文件
add_executable(main main.cpp)

# 链接所有依赖库
target_link_libraries(main
    ${OpenCV_LIBS}
    kvsWebrtcClient
    kvsWebrtcSignalingClient
    kvsProducerClient
    kvsCommon
)

然后编译你的项目:

mkdir build && cd build
cmake ..
make

内容的提问来源于stack exchange,提问作者bodi87

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 09:32:41