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サイト
Golangプログラムffmpegテストプログラムを呼び出す
次の2つの文に注意してください.
cgo CFLAGS: -IC:/ffmpeg/include cgo LDFLAGS: -LC:/ffmpeg/lib/
includeとlibのディレクトリを指定し、コンパイル時に見つからないことはありません.
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のディレクトリを指定し、コンパイル時に見つからないことはありません.