首页 > 学院 > 开发设计 > 正文

vlc2.2.4在64位ubuntu下的交叉编译

2019-11-08 03:04:56
字体:
来源:转载
供稿:网友

本文标题:vlc2.2.4在64位Ubuntu下编译出32位的windows库

注意好几个关键的地方,折腾了好久

Ubuntu版本为16.04     64位的

根据官方教程来https://wiki.videolan.org/Win32Compile/

一定要仔细看官方教程,看不仔细容易出错哦

下面做几点说明:

1. 在32位的Ubuntu上尝试了很久,失败了,换到64位上,如果你执意要在32位Ubuntn上编译,不用往下看了

2.PRepare 3rd party libraries这一步的时候,我用的最新的vlc源码,所以使用 Prebuilt (fast)方式

3.注意 Host triplet最后一句话

Please make sure that you replace the keyWords HOST-TRIPLET with either i686-w64-mingw32 or x86_64-w64-mingw32 adapted to your target Windows version (32-bit or 64-bit, respectively)

下面所出现的命令中,所有的 HOST-TRIPLET 你都要替换成i686-w64-mingw32 or x86_64-w64-mingw32,我是要编译32位的库,所以都替换成了i686-w64-mingw32

4. Go Back  这一步要注意这句话

Go back to the VLC source directory:

回到vlc源码目录下,就是你vlc的根目录,如果你中间执行了其他的cd命令,就不要傻傻的复制命令 cd -  了,

5. make prebuilt 的时候会去下载vlc-contrib-i686-w64-mingw32-latest.tar.bz2 (32位的),你可以自己复制一下链接,在windows上下载好复制到win32目录

6. vlc源码没必要git,自己在官网下载vlc-2.2.4.tar.xz也是可以的

7.make  qt有报错,头文件找不到,主要原因是qt4的开发环境,qt5的编译坏境导致,官方文档有如下说明

qt4-dev-tools, qt5-default (or qt4-default if qt plugin build fails)注意括号里的:qt编译失败则用qt4-default,改用qt4-default后qt不报错了

但是其他报错,提示卸载程序可能会不正常,我不用卸载程序,所以不关心

8.最后一步make package-win32-zip  遇到两个错误

一个是提示/usr/include/wine/windows/stdole2.idl 文件找不到,

我搜索了一下在我的ubuntu中有/usr/include/wine-development/windows/stdole2.idl

所以我把wine-development复制了一份重命名wine就解决了

cp wine-development/ wine -rf

第二个问题 7z命令找不到,原因是前面安装p7zip时,只安装的精简包,只支持7zr命令,安装7zip完整包才支持7z命令,如下命令:

apt-get install p7zip-full

到此为止,终于看到了官方说的 Everything is Ok


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表