Win10環(huán)境下?編譯?和?運(yùn)行?x264的詳細(xì)過程
花了整整一天時(shí)間終于做完了
1. MSYS2 的下載和安裝
1.1 下載
官網(wǎng)有下載和安裝流程
1.2 安裝
雙擊安裝,然后一直點(diǎn)下一步即可。
最后,點(diǎn)擊確定后是下面這個(gè)樣子
1.3 安裝 mingw-64
pacman -S mingw-w64-x86_64-gcc
安裝成功后,執(zhí)行 gcc -v
安裝成功
1.4 安裝 make
pacman -S make
1.5 安裝 mingw-w64-x86_64-toolchain
pacman -S mingw-w64-x86_64-toolchain
1.6 安裝 nasm
pacman -S mingw-w64-x86_64-nasm
2. 下載x264源碼
https://www.videolan.org/developers/x264.html
解壓后
3. 編譯 x264
3.1 在 D 盤新建一個(gè) x264 的文件夾,用于存放編譯好的庫
3.2 切換目錄到 x264 源碼的目錄
3.3 執(zhí)行 configre 腳本
./configure --enable-static --enable-shared --enable-debug --prefix=D:\/x264
3.4 執(zhí)行 make
make
3.5 執(zhí)行 make install
make install
這樣在 D:\x264 目錄下就生成了相應(yīng)的頭文件、庫和可執(zhí)行程序
3.6 將dll轉(zhuǎn)換成def
下載 pexports
https://sourceforge.net/projects/mingw/files/MinGW/Extension/pexports/pexports-0.47/
解壓
bin 目錄下有exe文件
將之前生成的 dll 文件拷貝到 bin 目錄
切換到這個(gè)路徑,然后執(zhí)行命令
pexports.exe libx264-164.dll > libx264-164.def
下面是生成的 def 文件
3.7 將 def 文件生成 lib 文件
打開 VS 2019 自帶的工具: Developer PowerShell for VS 2019
路徑 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2019\Visual Studio Tools
先切換到剛才的生成 def 文件的路徑,然后執(zhí)行生成 lib 文件的命令
cd E:\pexports\binlib /machine:x64 /def:libx264-164.def
下面就是生成的 lib 文件
4. 使用 x264
4.1 新建空項(xiàng)目
4.2 創(chuàng)建 x264.h,并將之前的 x264.h 文件的內(nèi)容拷貝過來
(注意:這里的頭文件要手動(dòng)創(chuàng)建,不能直接復(fù)制,否則 VS2019 識別不出來)
4.3 創(chuàng)建 x264_config.h,并將之前的 x264_config.h 文件的內(nèi)容拷貝過來
(注意:這里的頭文件要手動(dòng)創(chuàng)建,不能直接復(fù)制,否則 VS2019 識別不出來)
4.4 創(chuàng)建 cpp 文件
#include <iostream> extern "C" { #include "x264.h" #include "x264_config.h" } using namespace std; int main(int argc, char** argv) { x264_param_t x264_param; // x264編碼配置結(jié)構(gòu)體 x264_param_default(&x264_param); // x264編碼配置初始化 cout << "hello,x264" << endl; return 0; }
4.5 創(chuàng)建 lib 文件夾,并將之前的 lib 復(fù)制過來
4.6 項(xiàng)目->屬性,在C/C++:常規(guī)->附加包含目錄中,添加 $(SolutionDir)include
4.7 在鏈接器:常規(guī)->附加庫目錄中,添加 $(SolutionDir)lib
4.8 在鏈接器:輸入->附加依賴項(xiàng)中,添加 libx264-164.lib
4.9 點(diǎn)擊應(yīng)用和確定
5. 運(yùn)行
5.1 選擇 x64
5.2 運(yùn)行報(bào)錯(cuò)
由于找不到 libx264-164.dll, 無法繼續(xù)執(zhí)行代碼。
5.3 解決報(bào)錯(cuò)
拷貝之前的 libx264-164.dll 到項(xiàng)目的 x64 的 Debug 目錄下面
再次運(yùn)行后,成功!??!
到此這篇關(guān)于Win10環(huán)境下 編譯 和 運(yùn)行 x264的文章就介紹到這了,更多相關(guān)Win10編譯 x264內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
高性能WEB開發(fā)(5) 減少請求,響應(yīng)的數(shù)據(jù)量
上一篇中我們說到了 如何減少請求數(shù),這次說說如何減少請求、響應(yīng)的數(shù)據(jù)量(即在網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)量),減少傳輸?shù)臄?shù)據(jù)量不僅僅可以加快頁面加載速度,更可以節(jié)約服務(wù)器帶寬,為你剩不少錢(好像很多機(jī)房托管都是按流量算錢的)。2010-05-05IIS 301重定向與程序代碼實(shí)現(xiàn)301重定向的差別
過IIS做301重定向確可以實(shí)現(xiàn)傳遞網(wǎng)站的權(quán)重,還不會(huì)導(dǎo)致流量丟失。2010-11-11Unity開發(fā)VR項(xiàng)目問題總結(jié)分析
本篇文章主要對Unity開發(fā)VR項(xiàng)目會(huì)遇到的一些問題總結(jié),針對這些問題進(jìn)行分析解決,有需要的朋友可以借鑒參考下,希望對大家有所幫助2021-09-09解析動(dòng)態(tài)代理jdk的Proxy與spring的CGlib(包括區(qū)別介紹)
Spring是Java程序員基本不可能繞開的一個(gè)框架,它的核心思想是IoC(控制反轉(zhuǎn))和AOP(面向切面編程)。本文重點(diǎn)給大家介紹動(dòng)態(tài)代理jdk的Proxy與spring的CGlib,感興趣的朋友跟隨小編一起看看吧2022-01-01IDEA中使用Git拉取代碼時(shí)報(bào) Git pull failed原因及解決方法
這篇文章主要介紹了IDEA中使用Git拉取代碼時(shí)報(bào) Git pull failed原因及解決方法,本文給大家介紹的非常詳細(xì)對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08在 WordPress 的頁眉(header)和頁腳(footer)添加代碼方法
這篇文章主要介紹了在 WordPress 的頁眉(header)和頁腳(footer)添加代碼方法2021-09-09關(guān)于VSCode 裝好ESLint 插件 import 報(bào)黃線的問題
這篇文章主要介紹了VSCode 裝好ESLint 插件 import 報(bào)黃線的問題,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11