-
首先下载vlc sdk
https://get.videolan.org/vlc/3.0.9.2/win64/vlc-3.0.9.2-win64.7z
Cmake 生成libvlccpp vs2022工程文件
-
编译libvlccpp
编译出错需修改代码
错误信息:
\VLC\sdk\include\vlc/libvlc_media.h(368): error C2065: “libvlc_media_read_cb”: 未声明的标识符
\VLC\sdk\include\vlc/libvlc_media.h(368): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
解决方法:
vlc-3.0.9.2-win64\vlc-3.0.9.2\sdk\include\vlc\vlc.h
#ifdef __cplusplus
extern "C" {
#endif
typedef __int64 ssize_t;
#include <vlc/libvlc.h>
#ifdef __cplusplus
}
#endif
错误信息:
1>D:\SRC\open_src\libvlcpp\src\EventManager.cpp(146,15): error C2664: “void VLC::IMediaEventCb::stateChanged(libvlc_state_t)”: 无法将参数 1 从“const int”转换为“libvlc_state_t”
解决方法
libvlcpp\src\EventManager.cpp
cb->stateChanged(static_cast<libvlc_state_t>(event->u.media_state_changed.new_state) );
相关链接
https://blog.csdn.net/xiaolong1126626497/article/details/136173759
https://kimi.moonshot.cn/share/cpt5m135cfusu6iiiihg
问题解决后编译生成vlcpp.dll