<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    ffmpeg基礎與編譯_在VS2008下調試output_example.c(詳細步驟)

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

    注意:這個是編譯Debug版本的。
    必要資源:FFMPEG SDK 3.2(已經編譯好的,可以去http://www.bairuitech.com/html/ruanjianxiazai/ffmpeg/20080414/89.html下載)
    1.建立一個空的VC++工程
      建立好之后,將FFMPEG SDK 3.2下的output_example.c文件拷貝至路徑“%Project Dir%/%Project Name%/”下
      其“%Project Dir%”為你所建立的工程的路徑,“%Project Name%”為工程名。我的工程路徑為“D:/ARM DEV/FFMPEG/VS FFMPEG/example”
      工程名為example,因此我就要將output_example.c拷貝至路徑“D:/ARM DEV/FFMPEG/VS FFMPEG/example/example”下。
    2.拷貝頭文件
      將FFMPEG SDK 3.2下的include文件夾下的所有文件及文件夾拷貝至output_example.c同一個目錄下。
    3.為工程導入output_example.c以及頭文件
      A:在解決方案視圖里右鍵單擊“Source Files”->Add->Exsiting Item 然后選擇工程路徑下的output_example.c文件。
      B:在解決方案視圖里右鍵單擊“Header Files”->Add->Exsiting Item 然后選擇工程路徑下的前面拷貝過去的所有的頭文件。
    4.修改頭文件
      修改你所引用到的頭文件。因為output_example.c里只引用了2個頭文件avformat.h,swscale.h
      所以分別在這兩個頭文件中加入如下代碼:
    #ifdef __cplusplus
    extern "C" {
    #endif
    /*.你要引用的頭文件的內容..*/
    #ifdef __cplusplus
    }
    #endif
    前半部分放在頭文件的最開頭,后半部分放在頭文件的最末尾。這樣就可以引用正常使用ffmpeg提供的函數了。

    5.拷貝lib文件
      將FFMPEG SDK 3.2下的lib文件夾拷貝至output_example.c同一個目錄下。
    6.為項目添加所需要的lib文件
      A:在Project->Properties->Linker->General->Additional Library Directories下輸入“$(SolutionDir)/$(ProjectName)/lib”,然后點OK。
      B:在Project->Properties->Linker->Input->Additional Dependencies下輸入“avcodec.lib avdevice.lib avfilter.lib avformat.lib avutil.lib swscale.lib”,然后點OK。
    7.修改output_example.c文件
      將output_example.c里的“#include "avformat.h"”和“#include "swscale.h"”
      修改為“#include "libavformat/avformat.h"”和“#include "libswscale/swscale.h"”。
    8.修改編譯輸出路徑
      在Project->Properties->Linker->General->Output Directory下輸入“$(SolutionDir)/$(ProjectName)/$(ConfigurationName)”,然后點OK。
    好了,開始編譯。會發現找不到stdint.h這個文件,于是將出現問題的頭文件中的“include <stdint.h>”改為“include "stdint.h"”,繼續編譯,直到所有頭文件中的“include <stdint.h>”都改為“include "stdint.h"”為止。
    好了,到這一步編譯已經沒有問題了,可是運行的時候會出現找不到avformat.dll等信息。要想能運行必須為工程添加相應的dll文件。
    9.添加dll文件
      將FFMPEG SDK 3.2下的bin文件夾下的所有文件拷貝至工程文件夾下的Debug文件夾下,這個時候就可以運行output_example.exe了。
    可能還有別的辦法,比如可能很多頭文件是不用的,但是我這里全部都添加進來了,原因是我是新手...只要能調通就萬事大吉了,呵呵
    希望這個帖子能幫助到一些跟我一樣的菜鳥朋友么,大家加油,哈哈。

     

     

    轉載于

    http://bbs.chinavideo.org/viewthread.php?tid=3960&extra=page%3D1%26amp%3Bfilter%3Ddigest

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全