本文標(biāo)題:vlc2.2.4在64位Ubuntu下編譯出32位的windows庫
注意好幾個關(guān)鍵的地方,折騰了好久
Ubuntu版本為16.04 64位的
根據(jù)官方教程來https://wiki.videolan.org/Win32Compile/
一定要仔細(xì)看官方教程,看不仔細(xì)容易出錯哦
下面做幾點(diǎn)說明:
1. 在32位的Ubuntu上嘗試了很久,失敗了,換到64位上,如果你執(zhí)意要在32位Ubuntn上編譯,不用往下看了
2.PRepare 3rd party libraries這一步的時(shí)候,我用的最新的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)
下面所出現(xiàn)的命令中,所有的 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的根目錄,如果你中間執(zhí)行了其他的cd命令,就不要傻傻的復(fù)制命令 cd - 了,
5. make prebuilt 的時(shí)候會去下載vlc-contrib-i686-w64-mingw32-latest.tar.bz2 (32位的),你可以自己復(fù)制一下鏈接,在windows上下載好復(fù)制到win32目錄
6. vlc源碼沒必要git,自己在官網(wǎng)下載vlc-2.2.4.tar.xz也是可以的
7.make qt有報(bào)錯,頭文件找不到,主要原因是qt4的開發(fā)環(huán)境,qt5的編譯壞境導(dǎo)致,官方文檔有如下說明
qt4-dev-tools, qt5-default (or qt4-default if qt plugin build fails)注意括號里的:qt編譯失敗則用qt4-default,改用qt4-default后qt不報(bào)錯了但是其他報(bào)錯,提示卸載程序可能會不正常,我不用卸載程序,所以不關(guān)心
8.最后一步make package-win32-zip 遇到兩個錯誤
一個是提示/usr/include/wine/windows/stdole2.idl 文件找不到,
我搜索了一下在我的ubuntu中有/usr/include/wine-development/windows/stdole2.idl
所以我把wine-development復(fù)制了一份重命名wine就解決了
cp wine-development/ wine -rf
第二個問題 7z命令找不到,原因是前面安裝p7zip時(shí),只安裝的精簡包,只支持7zr命令,安裝7zip完整包才支持7z命令,如下命令:
apt-get install p7zip-full
到此為止,終于看到了官方說的 Everything is Ok
新聞熱點(diǎn)
疑難解答