golang直接调用ffmpeg预编译类库(windows)的配置方法,

之前参考了https://blog.csdn.net/yang8023tao/article/details/53338023这篇文章,虽然行得通,但是觉得把文件都copy到mingw的目录下这种方法比较简单粗暴,故建议用如下的方法。

我是在windows10 64位的环境下配置的。

首先安装MinGW64

我是按照到C:\mingw-w64目录下面。具体安装mingw的方法参考其他文章。

FFmpeg预编译库下载

从http://ffmpeg.zeranoe.com/builds/网站上

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())
}
注意上面这两句语句:

cgo CFLAGS: -IC:/ffmpeg/include
cgo LDFLAGS: -LC:/ffmpeg/lib/

指定了include和lib的目录,这样编译的时候就不会报找不到了。

你可能感兴趣的:(go)