因为我们更喜欢在Linux上开发程序, 所以生成交叉编译器,以便在Linux上交叉编译出windows程序。

Cgo

最终的目标是要生成windows程序,所以Cgo引用的库文件也必须是windows版本的。 以ffmpeg库为例:参考截图,在ffmpeg文件夹之下,新建一个文件夹,名为libwin, 用于保存windows版本的库文件(dll文件)。

pkgconfig 也需要做相应调整。而头文件无需变动。

GOOS=windows GOARCH=386 PKG_CONFIG_PATH=/foo/bar go build