這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
MinGW介紹
MINGW(Minimalist GNU on Windows)是一個可以在windows下編譯Linux程式的模擬linux編譯環境,他提供了linux下的C、C++標頭檔、系統庫和一些linux下的編譯工具集合,例如gcc、g++和make工具。使得編譯出來的二進位可以在windows上運行。(此前的 cygwin 雖然也是 GNU 的 Windows 移植,但是 cygwin 是有著作權的,不是 GNU)
MinGW下載
【MinGW】
http://sourceforge.NET/projects/mingw/
【MinGW環境變數配置】
http://jingyan.baidu.com/article/6b97984da0bd8a1ca2b0bf90.html
下載最新的MinGW,運行後他會根據你實際選擇需要安裝的工具集另行下載這些包,比如gcc、g++之類的。運行MinGW.exe: 預設安裝到C:\MinGW目錄下一般來說工具集選擇以下三個就足夠了:MinGW base tools //基本的gcc 編譯器g++ compiler //g++編譯器MingGW Make //Make工具測試是否安裝成功? 命令列中輸入gcc --version或gcc --version後如果出現正確的版本資訊就說明 PATH 路徑OK了
FFmpeg先行編譯庫下載
從http://ffmpeg.zeranoe.com/builds/網站上
1.下載Dev版本,裡麵包含了ffmpeg的xxx.h標頭檔以及xxx.lib庫檔案。2.下載Shared版本,裡麵包含了ffmpeg的dll檔案。3.解壓之後, * 把dev版本檔案夾中的Include和lib目錄整個兒複製合并到C:\MinGW目錄下。 * 將share版本檔案夾中bin目錄下對應的所有dll複製合并到C:\MinGW項目路徑下
Golang程式
package main/*#cgo LDFLAGS: -llibavformat -llibavcodec -llibavutil -llibavdevice -llibavfilter -llibswresample -llibswscale#include <libavformat/avformat.h>#include <libavcodec/avcodec.h>#include <libavutil/avutil.h>#include <libavutil/opt.h>#include <libavdevice/avdevice.h>static const AVStream *go_av_streams_get(const AVStream **streams,unsigned int n){ return streams[n];}*/import "C"import ( "fmt")func main() { fmt.Println(C.avdevice_version())}
參考FFmpeg封裝類,以便擴充
https://github.com/imkira/go-libav
https://github.com/giorgisio/goav