win10 vs2017編譯OBS Studio 25.0.8

1 開發(fā)環(huán)境

Windows 10 ltsc 2019、Visual Studio 2017 Community、QT 5.4.12雏婶、OBS Studio 25.0.8留晚、Windows SDK

注意:我用的windows是一個干凈的環(huán)境错维,在虛擬機中全新安裝的赋焕。

用vs2019可以省略安裝sdk版本的那一步泽示,等有空我再試試械筛。

2 準備環(huán)境

2.1 VS2017

下載地址:https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes

安裝比較簡單埋哟,自行百度赤赊。

2.2 Windows SDK

在用CMake構(gòu)建OBS Studio 25.0.8 的VS2017工程時,會提示下面錯誤吹截。如果使用VS2019構(gòu)建應該不會報錯波俄,我這里使用VS2017懦铺,那么手動安裝一下提示中的Windows SDK版本冬念。

下載地址:https://developer.microsoft.com/zh-cn/windows/downloads/sdk-archive/

下圖中的安裝SDK和ISO任選一個,選擇安裝SDK簡單。

我這里偷懶直接全部安裝据块。


2.3 安裝QT5.4.12

下載地址:https://download.qt.io/official_releases/qt/5.14/5.14.2/

安裝QT:

(1) 運行安裝程序qt-opensource-windows-x86-5.14.2.exe,點擊next

(2) 輸入qt官網(wǎng)的賬號和密碼边篮,點擊next,沒有的可以去這里https://login.qt.io/login注冊一個思杯。


(3) 繼續(xù)一直點下一步色乾,直到選擇組件的那個地方,這里我除了VS2015相關(guān)的取消了澎办,其他的全部選了浮驳,根據(jù)自行情況自己調(diào)整至会。

2.4 安裝CMake

下載地址:https://cmake.org/download/昆著,安裝比較簡單凑懂,直接一直下一步到結(jié)束即可。

注意:編譯25.0.8要使用3.16以上版本的CMake

3 下載代碼

可以下載git上主干代碼塘匣,也可以下載release版本的代碼,我下載的OBS Studio 25.0.8 release版本的驰徊。

下載地址:https://github.com/obsproject/obs-studio/releases


4 構(gòu)建工程

4.1 解壓代碼

解壓縮代碼,運行CMake勋桶,選擇源代碼目錄例驹,再設(shè)置一個工程目錄鹃锈。點擊Configure,CMake會開始構(gòu)建工程盆驹,但是后面會出現(xiàn)一系列錯誤躯喇,我們一個個解決廉丽。



4.2 解決windows sdk版本過低的問題

上面已經(jīng)安裝過wnidows sdk 10.0.18362责球,但是還是會報錯。重裝也不行凿将,先裝sdk再裝cmake也不行,最后去控制面板中將低版本的sdk卸載了(忘記截圖)才解決了這個錯誤。如果不報這個錯誤的朋友可以直接跳過秋柄,看提示安裝vs2019應該不會報這個錯誤骇笔。


4.3 設(shè)置QT目錄

不設(shè)置QT目錄會報下面錯誤,在CMake界面上直接填寫QT安裝的目錄芦劣,再次點擊configure虚吟。


4.4 設(shè)置依賴庫目錄

未設(shè)置依賴庫時報錯如下唱蒸,我將依賴庫目錄放置在與OBS代碼根目錄同級目錄油宜。

編譯OBS Studio需要一些列的庫疼燥,這里我全部使用修改Findxxxx.cmake文件來解決

4.5 設(shè)置ffmpge庫目錄

我直接下載的編譯好的庫醉者,我用的是ffmpeg-4.2.2立磁。下載地址:https://ffmpeg.zeranoe.com/builds/需要下載dev和shared版本唱歧。

下載后解壓后將兩個目錄中的文件合并到一起,拷貝合并后的文件到到之前設(shè)置DepsPath目錄下D:\clib\third_party_binary沿后,修改目錄名稱尖滚。

修改FindFFmpeg.cmake文件中查找ffmpeg庫的目錄非剃,再次點擊configure將不會再提示找不到ffmpeg庫

4.6 設(shè)置curl庫目錄

(1)這里使用7.70.0版本券坞,需要手動編譯恨锚,下載地址https://curl.haxx.se/download.html。

(2)解壓縮源代碼他挎,進入代碼目錄,雙擊運行buildconf.bat.

(3)進入winbuild目錄

(4)打開vc命令行工具呢撞,輸入cd /d D:\clib\curl-7.70.0\winbuild切換到winbuild目錄摧阅。


(5)輸入命令“nmake /f Makefile.vc mode=dll VC=14 MACHINE=x86 DEBUG=no”

具體設(shè)置根據(jù)自己需求參考BUILD.WINDOWS.txt文件


(6)拷貝編譯后文件夾到之前設(shè)置DepsPath目錄下D:\clib\third_party_binary祝钢,修改一下目錄名稱太颤。

(7)修改FindLibcurl.cmake這個文件中查找curl庫的目錄,再次點擊configure不會提示找不到libcurl庫了做裙。

4.7安裝python

下載python:https://www.python.org/downloads/release/python-383/

我安裝在C盤根目錄,勾選添加到PATH肃晚。

修改FindPythonDeps.cmake文件锚贱,修改后再configure會找到python庫文件,輸出的紅色的信息不用管


4.8設(shè)置zlib目錄

下載編譯好的zlib:https://windows.php.net/downloads/php-sdk/deps/vc15/x86/


解壓zlib到之前設(shè)置DepsPath目錄下D:\clib\third_party_binary关串,注意文件路徑。

修改findzlib.cmake文件晋修,因為下載的zlib庫文件名稱是zlib_a.lib吧碾,所需要加上 zlib_a。由于之前安裝了git(包含了zlib)墓卦,再cmake搜索include目錄時會搜索錯誤倦春,手動修改一下。

4.9安裝vulkan

下載地址:https://vulkan.lunarg.com/sdk/home#windows落剪,下載完畢之后直接默認安裝到c盤即可睁本,再次CMake時會自動搜索到vulkan的lib和頭文件。

4.10設(shè)置libvlc

下載地址:http://download.videolan.org/pub/videolan/vlc/last/win32/

下載.7z版本里面會有sdk目錄忠怖,解壓縮整個文件到之前設(shè)置DepsPath目錄下D:\clib\third_party_binary呢堰。

修改FindLibVLC.cmake文件,修改include和lib查找路徑

再次點擊CMake的Configure會找到LIBVLC脑又。

4.11設(shè)置Libmbedtls

下載地址:https://github.com/ARMmbed/mbedtls/releases


(1)解壓縮代碼暮胧,在代碼目錄地址欄輸入“cmd”回車锐借,可以快速在命令行進入目錄。

(2)用cmake命令行配置工程往衷,輸入“cmake -R . -B ./vs2017”钞翔,會在代碼目錄自動創(chuàng)建一個vs2017目錄并,構(gòu)建出工程席舍。

(3) 打開工程并編譯布轿,打開目錄vs2017/mbed TLS.sln文件,直接編譯等待編譯完成来颤。

(4)拷貝生產(chǎn)的lib文件和需要用的頭文件目錄到之前設(shè)置DepsPath目錄下D:\clib\third_party_binary汰扭,注意文件路徑。

(5)修改FindMbedTLS.cmake文件中的查找路徑福铅,注意要修改4處萝毛。

(6)再次點擊CMake的Configure,會找到mbedtls相關(guān)文件滑黔。


4.12 設(shè)置x264

(1)編譯x264請看另外一篇文章笆包。

http://www.reibang.com/p/f3f3f428e49a

(2)修改FindLibx264.cmake文件


4.13 生成工程,終于生成成功略荡,打開工程庵佣。

5 編譯工程

直接點擊編譯,等待編譯完成汛兜,最后全部編譯成功巴粪。

6 調(diào)試運行

(1)按F5調(diào)試運行,報錯誤找不到Qt5Xmld.dll等一些列找不到dll錯誤粥谬。設(shè)置調(diào)試的運行目錄如下:$(ProjectDir)\..\rundir\Debug\bin\32bit肛根。

(2)再次F5運行,提示找不到libcurl.dll帝嗡,直接將libcurl庫的bin目錄添加到環(huán)境變量的path里面去晶通,添加完畢要重啟vs。

(3)再次F5運行哟玷,提示如下錯誤“Failed to create aac streaming encoder(simple output)”狮辽,拷貝ffmpge庫的bin目錄下的D:\clib\ffmpeg-4.2.1\bin\下的所有dll到D:\clib\obs-studio-25.0.8\build\rundir\Debug\obs-plugins\32bit目錄。(也可以直接把ffmpeg的bin目錄設(shè)置到環(huán)境變量path中)

(4)重啟vs巢寡,F(xiàn)5調(diào)試運行成功喉脖。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市抑月,隨后出現(xiàn)的幾起案子树叽,更是在濱河造成了極大的恐慌,老刑警劉巖谦絮,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件题诵,死亡現(xiàn)場離奇詭異洁仗,居然都是意外死亡,警方通過查閱死者的電腦和手機性锭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進店門赠潦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人草冈,你說我怎么就攤上這事她奥。” “怎么了怎棱?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵哩俭,是天一觀的道長。 經(jīng)常有香客問我拳恋,道長凡资,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任谬运,我火速辦了婚禮讳苦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吩谦。我一直安慰自己,他們只是感情好膝藕,可當我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布式廷。 她就那樣靜靜地躺著,像睡著了一般芭挽。 火紅的嫁衣襯著肌膚如雪滑废。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天袜爪,我揣著相機與錄音蠕趁,去河邊找鬼。 笑死辛馆,一個胖子當著我的面吹牛俺陋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播昙篙,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼腊状,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了苔可?” 一聲冷哼從身側(cè)響起缴挖,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎焚辅,沒想到半個月后映屋,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體苟鸯,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年棚点,在試婚紗的時候發(fā)現(xiàn)自己被綠了早处。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡乙濒,死狀恐怖陕赃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情颁股,我是刑警寧澤囱皿,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布醋火,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏魏滚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一捂贿、第九天 我趴在偏房一處隱蔽的房頂上張望渤弛。 院中可真熱鬧,春花似錦滤愕、人聲如沸温算。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽注竿。三九已至,卻和暖如春魂贬,著一層夾襖步出監(jiān)牢的瞬間巩割,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工付燥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留宣谈,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓键科,卻偏偏與公主長得像闻丑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子勋颖,可洞房花燭夜當晚...
    茶點故事閱讀 43,492評論 2 348