草庐IT

build-impl

全部标签

go - 如何使用伪 CGO 指令在子目录中添加 C 文件作为 go build 的一部分?

根据文档,使用cgo的gobuild将在包的根目录中添加任何C/C++文件作为编译的一部分。有没有办法通过使用CGO指令使给定子目录中的C/C++文件也成为编译的一部分以及根目录中的文件? 最佳答案 不是真的。您唯一的选择是使该子目录成为另一个Go包,但是您必须将您需要的任何功能包装在导出的Go函数中,并将其导入您的项目。C/C++文件的编译对于基本需求来说是一种便利,但任何更复杂的东西都需要单独构建您的源代码,并提供适当的CGO指令以进行链接。Go工具链并不是一个完整的构建工具。 关于

go - 如何使用伪 CGO 指令在子目录中添加 C 文件作为 go build 的一部分?

根据文档,使用cgo的gobuild将在包的根目录中添加任何C/C++文件作为编译的一部分。有没有办法通过使用CGO指令使给定子目录中的C/C++文件也成为编译的一部分以及根目录中的文件? 最佳答案 不是真的。您唯一的选择是使该子目录成为另一个Go包,但是您必须将您需要的任何功能包装在导出的Go函数中,并将其导入您的项目。C/C++文件的编译对于基本需求来说是一种便利,但任何更复杂的东西都需要单独构建您的源代码,并提供适当的CGO指令以进行链接。Go工具链并不是一个完整的构建工具。 关于

testing - 使用 go build 但我也看到了 -test 标志

我有一个main.go和mypkg/...go.我用gobuild-omainmain.go或goinstall其中有一些我需要的标志。但我也看到了测试标志。为什么会这样?我错过了什么?Usageof./main:-dockerstringDockerAPIPath,defaultstolocal(default"unix:///var/run/docker.sock")-httptest.servestringifnon-empty,httptest.NewServerservesonthisaddressandblocks-portintThedefaultporttolisten

testing - 使用 go build 但我也看到了 -test 标志

我有一个main.go和mypkg/...go.我用gobuild-omainmain.go或goinstall其中有一些我需要的标志。但我也看到了测试标志。为什么会这样?我错过了什么?Usageof./main:-dockerstringDockerAPIPath,defaultstolocal(default"unix:///var/run/docker.sock")-httptest.servestringifnon-empty,httptest.NewServerservesonthisaddressandblocks-portintThedefaultporttolisten

package - 为什么 "go build"找不到包?

我安装了一个test0包到$gopath\pkg\windows_386\hello\test0.a,但是当我构建一个依赖于的主包时test0包,编译器提示:import"hello/test0":cannotfindpackage。为什么会这样?我有两个go文件:$gopath/src/hello.gopackagemainimport("fmt""hello/test0")funcmain(){fmt.Println(test0.Number)}$gopath/src/hello/test0/test0.gopackagetest0const(Numberint=255)首先,我运

package - 为什么 "go build"找不到包?

我安装了一个test0包到$gopath\pkg\windows_386\hello\test0.a,但是当我构建一个依赖于的主包时test0包,编译器提示:import"hello/test0":cannotfindpackage。为什么会这样?我有两个go文件:$gopath/src/hello.gopackagemainimport("fmt""hello/test0")funcmain(){fmt.Println(test0.Number)}$gopath/src/hello/test0/test0.gopackagetest0const(Numberint=255)首先,我运

go - 如何使用 go build -ldflags 在编译时设置 bool 变量

我有一个围棋程序test.gopackagemainimport"fmt"varDEBUG_MODEbool=truefuncmain(){fmt.Println(DEBUG_MODE)}我想在compile上设置DEBUG_MODE变量是时候false我试过:gobuild-ldflags"-Xmain.DEBUG_MODE0"test.go&&./testtruekyz@s497:18:49:32:/tmp$gobuild-ldflags"-Xmain.DEBUG_MODEfalse"test.go&&./testtruekyz@s497:18:49:41:/tmp$gobuild

go - 如何使用 go build -ldflags 在编译时设置 bool 变量

我有一个围棋程序test.gopackagemainimport"fmt"varDEBUG_MODEbool=truefuncmain(){fmt.Println(DEBUG_MODE)}我想在compile上设置DEBUG_MODE变量是时候false我试过:gobuild-ldflags"-Xmain.DEBUG_MODE0"test.go&&./testtruekyz@s497:18:49:32:/tmp$gobuild-ldflags"-Xmain.DEBUG_MODEfalse"test.go&&./testtruekyz@s497:18:49:41:/tmp$gobuild

unit-testing - 在 docker build 中缓存 "go get"

我想将我的golang单元测试封装在一个docker-compose脚本中,因为它依赖于几个外部服务。我的应用程序有很多依赖项,所以需要一段时间才能goget。我怎样才能以允许docker容器构建的方式缓存包,而不必每次我想测试时都下载所有依赖项?我的Dockerfile:FROMgolang:1.7CMD["go","test","-v"]RUNmkdir-p/go/src/appWORKDIR/go/src/appCOPY./go/src/appRUNgo-wrapperdownloadRUNgo-wrapperinstall每次我想运行单元测试时,我都会在以下脚本上运行docke

unit-testing - 在 docker build 中缓存 "go get"

我想将我的golang单元测试封装在一个docker-compose脚本中,因为它依赖于几个外部服务。我的应用程序有很多依赖项,所以需要一段时间才能goget。我怎样才能以允许docker容器构建的方式缓存包,而不必每次我想测试时都下载所有依赖项?我的Dockerfile:FROMgolang:1.7CMD["go","test","-v"]RUNmkdir-p/go/src/appWORKDIR/go/src/appCOPY./go/src/appRUNgo-wrapperdownloadRUNgo-wrapperinstall每次我想运行单元测试时,我都会在以下脚本上运行docke