golangはffmpegプリコンパイルクラスライブラリ(windows)の構成方法を直接呼び出し、

2092 ワード

前に参考にしましたhttps://blog.csdn.net/yang8023tao/article/details/53338023この文章は、通じますが、ファイルをmingwのディレクトリの下にコピーするという方法は簡単で乱暴だと思いますので、以下の方法をお勧めします.
Windows 10 64ビットの環境で構成しました.
まずMinGW 64をインストール
C:mingw-w 64ディレクトリの下に従います.具体的にmingwをインストールする方法は他の記事を参照してください.
FFmpegプリコンパイラダウンロード
からhttp://ffmpeg.zeranoe.com/builds/Webサイト
1.  Dev  ,     ffmpeg xxx.h     xxx.lib   。
2.  Shared  ,     ffmpeg dll  。
3.    ,
【64     ,    C:\ffmpeg   】
 *   dev       lib          C:\ffmpeg\lib   。
 *   dev       include          C:\ffmpeg\include   。
 *   share      bin         C:\ffmpeg\bin   

Golangプログラムffmpegテストプログラムを呼び出す
package main

/*
#cgo CFLAGS: -IC:/ffmpeg/include
#cgo LDFLAGS: -LC:/ffmpeg/lib/ -llibavformat  -llibavcodec -llibavutil -llibavdevice -llibavfilter -llibswresample -llibswscale
#include 
#include 
#include 
#include 
#include 

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())
}

次の2つの文に注意してください.
cgo CFLAGS: -IC:/ffmpeg/include cgo LDFLAGS: -LC:/ffmpeg/lib/
includeとlibのディレクトリを指定し、コンパイル時に見つからないことはありません.