如何将外部可执行文件添加到Go项目

时间:2017-01-07 15:40:22

标签: go

我正在Go中编写一个应用程序。但是,在每个平台上,我的代码都将使用从另一个项目编译的外部程序(例如Windows中的C ++,Mac中的Objective-C等)。使用os/exec exec.Command函数调用此外部可执行文件。

我可以毫无问题地打包我的软件,但是仍有一个问题是使用go run会导致此文件丢失。

有没有办法告诉go每当我$ go run myproj时它应该包含外部文件(最好也是从源代码构建它)?

AFAIK,go run只是在tmp目录下构建二进制文件,但是它不会包含任何外部文件,例如图像等。例如,当您有两个文件时:$GOPATH/src/main/main.go和{ {1}}和$GOPATH/ext-tool.bin内容为:

main.go

1 个答案:

答案 0 :(得分:2)

另一种方法是在应用程序构建中嵌入可执行文件。

这是通过go-bindata或其最近的继任者unnoted/fileb0x完成的 在那里,您可以访问内存文件系统中的嵌入式可执行文件。