1 回答

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
放到MSYS環(huán)境里配置,生成config.h文件。mingw gcc是能順利編譯通過(guò)整個(gè)項(xiàng)目的,并生成最新版的ffmpeg。
建立vc6工程,把相關(guān)代碼都加入到工程中。由于在vc生成的obj都在一個(gè)目錄下,所以需要修改文件名,讓其不重名。
安裝intel compiler 11編譯器,單獨(dú)提取其icl.exe及相關(guān)include目錄,替換掉vc6自帶的cl.exe, 在工程設(shè)置里加上/Qstd=c99,用于支持C99語(yǔ)法。
安裝intel compiler 10編譯器,單獨(dú)提取lib目錄,因?yàn)榇税姹菊{(diào)試庫(kù)的結(jié)構(gòu)能完美支持vc6的調(diào)試信息。
在vc6的options里設(shè)置include/exe/lib查找目錄,指向intel編譯器。
開(kāi)始修改代碼,添加C99的相關(guān)linux頭文件, 用于支持vc6, (unistd.h, stdint.h, inttypes.h, getopt.h)
添加C99和linux的相關(guān)實(shí)現(xiàn)代碼,ffmpeg需要用到: getopt_long, strtoll, gettimeofday, atoll, usleep等
修改windows的相關(guān)兼容代碼,GetWindowLongPtr -> GetWindowLong, GWLP_USERDATA
去除硬件加速libavcodec代碼,和依賴庫(kù)代碼。選擇所需要的模塊,修改相關(guān)的allcodec.c, alldevices.c, allfilters.c, allformats.c
加上鏈接庫(kù),sdl.lib, winmm.lib, dxguid.lib, wsock32.lib
在os_support.c里,把<winsock2.h>移動(dòng)到文件最前面。
如果是ffmpeg, 已經(jīng)能順利編譯了。如果是ffplay,還需要編譯靜態(tài)sdl, 并鏈接。
- 1 回答
- 0 關(guān)注
- 816 瀏覽
添加回答
舉報(bào)