下载资源
vlc-qt的源码:https://github.com/vlc-qt/vlc-qt 下载zip压缩包即可;
vlc-3.0.9.2的库 http://download.videolan.org/vlc/3.0.9.2/win64/vlc-3.0.9.2-win64.7z
解压vlc-3.0.9.2 ,如下
设置环境变量VLC_PLUGIN_PATH为解压目录下的plugins文件夹
VLC_PLUGIN_PATH {YOUR_PLUGINS_PATH}\plugins
配置CMake
打开CMake的cmake-gui界面程序,解压vlc-qt的源码,并在解压目录下新建build目录;第一行选择解压目录,第二行选择新建的build目录,示例如下:
点击Configure按钮,在弹框中选择项目的编译器,这里我选择的是VS2019,然后点击finish开始配置,完成后会报错,是因为有三个选项没有找到,如下图所示:
修改之后如下,同时要把CMAKE_INSTALL_PREFIX变量值设置成一个不需要权限的目录(不要在C盘),这是最后生成时的目录
点击Add Entry 按钮,增加CMAKE_DEBUG_POSTFIX变量,目的是生成Debug版本最后带d
- 名称:CMAKE_DEBUG_POSTFIX
- 类型:STRING
- 值:d
- 说明:可以为空
再次点击Configure,没问题点击Generate,没问题点击Open Project
- 生成ALL_BUILD项目,有可能遇到的错误
-
“libvlc_media_read_cb”: 未声明的标识符
在vlc.h 文件中 添加 typedef __int64 ssize_t; 如果行不通,就定位到ssize_t代码区,把其定义拷贝到libvlc_media_read_cb函数所在文件的开始位置或者拷贝到vlc.h文件,删掉Audio.cpp、VideoMemoryStream.h中的定义
- poll问题 提示找不到poll标识符。 解决方案:定位到poll代码区。会看到一个poll的宏定义。需要把这个宏定义剪贴到 poll代码区的上方。
- 生成INSTALL项目
- Release版本也生成一下
最后生成的目录
在CMake中使用
设置VLCQt_DIR环境变量
Path环境变量添加我们刚才生成的VLCQt的bin目录
CMakeLists.txt的编写
find_package(VLCQt COMPONENTS Core Widgets REQUIRED)
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Widgets VLCQt::Widgets)