今天在運行自己制作的補丁的時候,對舊代碼打補丁的時候,sudo patch -p1 < xxx.patch的時候,報錯了:
sudo patch -p1 < ffmpeg-fix-bug-too-many-frames-buffered.patch patching file fftools/ffmpeg.c Hunk #1 FAILED at 1449 (different line endings). Hunk #2 FAILED at 1498 (different line endings). 2 out of 2 hunks FAILED -- saving rejects to file fftools/ffmpeg.c.rej
原因:
網上搜索了一圈,大概原因可能是因為項目有文件有拷貝到windows平台下過,根據自己的情況,確實之前有過這種操作,所以嘗試了一下下面的解決方式,順利解決。
解決方式:
安裝dos2unix工具:sudo apt install -y dos2unix
然后對ffmpeg.c和補丁文件都進行了格式轉碼:
sudo dos2unix fftools/ffmpeg.c sudo dos2unix ffmpeg-fix-bug-too-many-frames-buffered.patch sudo patch -p1 < ffmpeg-fix-bug-too-many-frames-buffered.patch