obs簡介
官方有較詳細的說明文件,但是在實際編譯開發過程中,還是遇到了一些問題。在此記錄下來,以備查閱。
obs編譯(windows)
準備生成工程
add entry增加依賴庫,qt路徑等,如下:
編譯工程
想除錯可以使用debug或者relwithdebinfo執行程式。
程式編譯完成,可以執行d:\obs\obs-build\obs-studio\build\rundir\release\bin\64bit下obs64.exe。
tip:直接執行d:\obs\obs-build\obs-studio\build\ui\release目錄下的obs.exe,依賴的庫都沒在這個目錄下,所以會報缺失檔案什麼的。使用all build為啟動項,這裡會從rundir下啟動程式的。obs專案在生成後,會把相關檔案拷貝到d:\obs\obs-build\obs-studio\build\rundir\release\bin\64bit下。obs定義了生成後事件:
c:\program files (x86)\cmake\bin\cmake.exe" -dconfig=relwithdebinfo -dfname=obs64.exe -dinput=d:/obs/obs-build/obs-studio/build/ui/relwithdebinfo -doutput=d:/obs/obs-build/obs-studio/build/rundir/relwithdebinfo/bin/64bit -p d:/obs/obs-build/obs-studio/cmake/copy_on_debug_helper.cmake d:\obs\ obs-build \ obs-studio \build\rundir\release\bin\64bit
obs-browser外掛程式
obs-browser是obs-studio的乙個輸入源外掛程式,基於cef開發實現的
編譯cef
cef設定輸入,輸出目錄,configure,再generate。
building obs and obs-browser
cef_root_dir:d:/obs/obs-build/cef_binary_3.2987.1601.gf035232_windows64
build_browser = true 預設是不建立obs-browser的。
use_static_crt = false 設定構建的專案/md,預設是/mt。這個配置之前沒有設定false,導致cef和obs-browser編譯各種問題。
這裡有時候會遇到錯誤如下圖:
需要把d:\obs\obs-build\cef_binary_3.2987.1601.gf035232_windows64\resources下的所有資源檔案拷貝到obs的rundir目錄下:d:\obs\obs-build\obs-studio\build\rundir\release\obs-plugins\64bit
release版本,需要d:\obs\obs-build\cef_binary_3.2987.1601.gf035232_windows64\release下的檔案拷貝到obs的rundir目錄下:d:\obs\obs-build\obs-studio\build\rundir\release\obs-plugins\64bit (.lib不用拷貝)
libcef.dll依賴libegl.dll和libglesv2這兩個檔案,但是qt也依賴這兩個檔案,他們分別在不同的目錄,且使用的版本不統一。debug程式時,會報錯,把cef下的這兩個檔案統一使用d:\obs\obs-build\obs-studio\build\rundir\release\bin\64bit目錄下的。
網易雲大禮包:
OBS原始碼編譯開發
obs簡介 官方有較詳細的說明文件,但是在實際編譯開發過程中,還是遇到了一些問題。在此記錄下來,以備查閱。obs編譯 windows 準備生成工程 add entry增加依賴庫,qt路徑等,如下 編譯工程 想除錯可以使用debug或者relwithdebinfo執行程式。程式編譯完成,可以執行d o...
OBS原始碼編譯開發
obs簡介 官方有較詳細的說明文件,但是在實際編譯開發過程中,還是遇到了一些問題。在此記錄下來,以備查閱。obs編譯 windows 準備生成工程 add entry增加依賴庫,qt路徑等,如下 編譯工程 想除錯可以使用debug或者relwithdebinfo執行程式。程式編譯完成,可以執行d o...
OBS原始碼閱讀
然後通過load debug privilege函式,修改了下程序的許可權,呼叫base set crash handler設定全域性的crash handler,crash param 設定def log handler函式作為日誌列印函式 接下來的判斷命令列引數,一般上命令列引數argc都為1,...