VLC编译错误难解7 VLC3.0编译过程中QT版本错误的问题error: ‘QT_WARNING_DISABLE_DEPRECATED’ does not name a type

        如果你用ubuntu18.04编译windows上用的libvlc较新版本后比如vlc-4.0.0-dev,然后再编译vlc-3.0,可能会遇到QT版本不对应的问题,当然也不一定是编译先后顺序的问题,主要是vlc-3.0对应的QT版本是QT5.6.3,当然在make fetch后make时QT5.6.3的库会编译好的,一般存放在vlc/contrib/win32/qt/bin内。如下图的错误:

VLC编译错误难解7 VLC3.0编译过程中QT版本错误的问题error: ‘QT_WARNING_DISABLE_DEPRECATED’ does not name a type_第1张图片

1、对于以上版本其实就是QT的版本不对造成的,如何修复呢。

其实我们在控制台输出 qmake -v 命令时,执行的是qtchooser,因此我们需要将qtchooser的版本指向修改以下就可以使用对应版本的QT了。

qtchooser -install qt5.6.3 /home/wys/vlc-3.0/contrib/win32/qt/bin/qmake
qtchooser -l #查看对应的版本是否已经安装了,在控制台能够看到安装的对应版本5.6.3即表明已安装
export QT_SELECT=qt5.6.3 #选择对应的版本,这个是临时选择的

2、在控制台输入qmake -v应该就能看到想要安装的版本qt5.6.3了。

做完这一步后,最好将 vlc/contrib/win32/qt/bin目录内的所有文件复制到 vlc/contrib/i686-w64-mingw32/bin内(提示覆盖就行了,本身就是相同文件)

3、记得在vlc/win32内执行一遍 make clean,然后重新执行

如下两条语句:

../extras/package/win32/configure.sh --host=i686-w64-mingw32 --build=x86_64-pc-linux-gnu
../configure --host=i686-w64-mingw32 --build=x86_64-pc-linux-gnu

4、执行make -j4 编译吧。

 

继续报错处理

5、接着第四步编译后还会报错,主要就是提示qt的debug库不存在,简单的解决方案就是将release库复制一份后面加一个字母d即可。如下图:

VLC编译错误难解7 VLC3.0编译过程中QT版本错误的问题error: ‘QT_WARNING_DISABLE_DEPRECATED’ does not name a type_第2张图片

VLC编译错误难解7 VLC3.0编译过程中QT版本错误的问题error: ‘QT_WARNING_DISABLE_DEPRECATED’ does not name a type_第3张图片

6、如上图蓝色选中的都是复制原来的库文件后面加一个字母d(当然如果你还有其他的库没有debug版本复制相应的release后加d即可),然后再make -j4吧(接下来应该会顺利编译通过)。这一步不知道稳不稳定,如果大家有好的办法可以告知!

7、编译成功如下图:

VLC编译错误难解7 VLC3.0编译过程中QT版本错误的问题error: ‘QT_WARNING_DISABLE_DEPRECATED’ does not name a type_第4张图片

8、安装一个包吧。

make  package-win-common

9、复制到windows电脑上运行还会报一个错误“由于找不到libssp-0.dll,无法继续执行代码。。。”,解决办法:网上下再一个libssp-0.dll放到vlc包的根目录即可。

10、libssp-0.dll下载地址如下:

https://www.dll-files.com/download/550b3ec2d6a2db0036b4e6e057b54768/libssp-0.dll.html?c=eENmaWNMRG9OS3FMblYxNnFnZnoyZz09

你可能感兴趣的:(VLC)