VLC-Qt VS2017编译Mark

环境准备:

vs2017旗舰版,cmake,Qt Creator

准备开工:

下载源码

VLC开发库

https://download.videolan.org/pub/videolan/vlc/

之所以选择vlc开发库直接下载是因为可能编译vlc会出错,不好解决。所以直接下载官方库方便快捷

版本选择3.0.8,32位-vlc-3.0.8-win32.7z

下载地址:https://download.videolan.org/pub/videolan/vlc/3.0.8/win32/vlc-3.0.8-win32.7z

VLC-Qt

https://vlc-qt.tano.si/

我选择的是 mingw-32位版本下载的:VLC-Qt_1.1.0_win32_mingw.7z

如下图:

vlc-qt

环境配置:

               1、把plugins目录与libvlc.dll、libvlccore.dll复制到qt安装目录下的bin目录中
                    (例如:D:\Qt\Qt5.7.1\5.7\msvc2015\bin)

               2、把sdk/include/vlc目录复制到qt安装目录下的include目录中
                    (例如:D:\Qt\Qt5.7.1\5.7\msvc2015\include)

               3、把sdk/lib下面的几个lib文件复制到qt安装目录下面的lib目录中
                    (例如:D:\Qt\Qt5.7.1\5.7\msvc2015\lib)

               4、设置环境变量,plugins文件夹的位置
                    变量名:VLC_PLUGIN_PATH
                    变量值:D:/Qt/Qt5.7.1/5.7/msvc2015/bin/plugins

准备条件就这些了,cmake就可以找到VLC相关配置信息了。

接下来准备生成工程,编译VLC-Qt库及demo

编译步骤1:cmake打开目录,点击Configure按钮,配置生成vs2017工程配置。

compile-001

编译步骤2:修改生成工程配置中的下图中红圈那两处,分别是从vlccore.lib,vlc.lib改为libvlccore.lib  libvlc.lib

编译步骤3:点击Generate生成vs2017工程,随后点击Open Project使用vs2017打开工程。

编译步骤4:

直接运行可能会报一些错。

以下列举了我在编译该库遇到的一些错误情况及处理方法:

no1.
include\vlc/libvlc_media.h(368): error C2065: “libvlc_media_read_cb”: 未声明的标识符

原因及解决方案:
是由于vlc在window下需要SSIZE_T,因此在 include vlc头文件前增加下面的宏:
#ifdef _WIN32
#include <basetsd.h>
typedef SSIZE_T ssize_t;
#endif
#include "vlc/vlc.h"


no2.
原因及解决方案:
vlc_threads.h(90): error C3861: “poll”: 找不到标识符
将vlc_threads.h中的# define poll(u,n,t) vlc_poll(u, n, t)
提到函数前面即可

no3.
error LNK2026: 模块对于 SAFESEH 映像是不安全的。
原因及解决方案:
关闭SAFESEH警告,不关闭会把这个警告认为错误
分别修改Core,PluginQml,Qml,Widgets工程的属性>>调试>>链接器>>命令行>>其它选项下填入 /SAFESEH:NO 斜杠后面不能有空格

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值