FFmpeg SDL簡單總結

2021-08-15 10:28:03 字數 1020 閱讀 9397

1.基本的就是要拷貝標頭檔案,導入庫,dll,在專案裡面配置頭檔案目錄,導入庫目錄,增加附加依賴項,sdl還要匯入sdlmain.lib靜態庫

注:標頭檔案有幾個mingw裡面的,是先安裝mingw,在從裡面拷貝出來的_mingw.h,inttypes.h,msvcrtver.h,stdint.h,w32api.h

2.就是c專案,和cpp專案的區別,最好用.cpp檔案,這樣不用改很多東西,匯入標頭檔案加入

extern 「c"{}

#define __stdc_constant_macros

遇到比較特殊的問題:

1.ffmpeg debug版本編譯執行都沒問題,但是release編譯正常,執行崩潰

解決方法:在release版本下面使用保留未引用資料/opt:noref

專案屬性---->聯結器----->優化------>引用------>/opt:noref

2.想把sdl做成靜態庫,但是編譯的時候出現錯誤:模組計算機型別x64與目標計算機型別x86衝突

解決方法:配置屬性----->庫管理器----->命令列------->加入/machine:x64

3.sdl靜態庫編譯好了,ffmpeg匯入編譯的時候出現連線錯誤,就是sdl裡面呼叫windows api函式的地方鏈結錯誤

解決方法:sdl專案匯入了windows api的winmm.lib,imm32.lib,version.lib,當編譯成靜態庫的後,在ffmpeg專案裡面匯入就沒找到windows api函式,匯入這三個導入庫就ok了

注:sdl說明裡講是directx的api封裝,當時就用vc自帶的工具dumpbin -dependents 檢視,也沒看到directx的相關dll,ddraw.dll, d3dx.dll, opengl32.dll等依賴的動態鏈結庫,就有點迷惑,看了一些sdl的**後才曉得,sdl是採用動態載入dll的方式來載入相關dll及函式,directx及opengl的市場情況:

directx: directx在家用市場全面領先

opengl:但在專業高階繪圖領域,opengl是不能被取代的主角

半年簡單總結

一轉眼到這裡也半年多了。得 跟隨乙個固執的老大實踐了一些軟體工程的過程。老大比較固執也是乙個好事情,比較堅持原則。學會了怎樣使用狀態機來幫助實現處理複雜事務。這裡的管理還是比較嚴格的,所有的過程都有標準需要遵循,因此在編碼方面也養成了好的習慣,至少從編碼風格和標準上是這樣的。學會了簡單使用clear...

Git簡單總結

廖雪峰關於git的筆記,覺得非常仔細,就搬過來了 git init 命令把這個目錄變成git 可以管理的倉庫 git add 檔名 把檔案新增到倉庫 git status git 倉庫的狀態 git commit m add readme.text file 把檔案提交到倉庫 m 是本次的提交說明 ...

dfs簡單總結

介紹 dfs中文名 先深搜尋 說得通俗點就是一搜到底,不撞南牆不回頭 如上圖,dfs搜尋次序為1 2 3到頭之後,回到2,然後到4,此時有兩個方向可走,乙個是3,乙個是5,因為3已搜過,那麼只有搜5了,此時所有節點全部遍歷完。dfs一般用遞迴來實現,格式如下 dfs px 結束條件 for pn 應...