草庐IT

add_compiler_flags

全部标签

compilation - 使用 C 库将 Go 程序编译成独立的可执行文件

我正在尝试编译一个完全独立的go程序,包括c库。我使用的命令是[mm17@mm17grogger]$gobuild--ldflags'-extldflags"-static"'./grogger.go#command-line-arguments/usr/bin/ld:cannotfind-lgrokcollect2:ldreturned1exitstatus/home/mm17/go/pkg/tool/linux_amd64/6l:runninggccfailed:unsuccessfulexitstatus0x100所以我将修改调用grok库的文件使其具有以下header1pack

compilation - 使用 C 库将 Go 程序编译成独立的可执行文件

我正在尝试编译一个完全独立的go程序,包括c库。我使用的命令是[mm17@mm17grogger]$gobuild--ldflags'-extldflags"-static"'./grogger.go#command-line-arguments/usr/bin/ld:cannotfind-lgrokcollect2:ldreturned1exitstatus/home/mm17/go/pkg/tool/linux_amd64/6l:runninggccfailed:unsuccessfulexitstatus0x100所以我将修改调用grok库的文件使其具有以下header1pack

去工具: no such tool "compile"

我最近开始尝试编写一些基于网络的应用程序。起初,一切都很顺利,直到我想为不同的平台交叉编译一个二进制文件。我正在运行MacOS,我想为linux编译一个二进制文件,所以我将GOOS更改为linux并将GOARCH更改为amd64。从那以后,我总是收到错误信息gotool:nosuchtool"compile"我正在使用GoClipse,但通过手动运行编译goinstallhello.go我得到了同样的错误。当改回为darwin架构编译时,我现在遇到了同样的错误,所以基本上我现在完全无法编译任何用Go编写的代码。 最佳答案 我是通过g

去工具: no such tool "compile"

我最近开始尝试编写一些基于网络的应用程序。起初,一切都很顺利,直到我想为不同的平台交叉编译一个二进制文件。我正在运行MacOS,我想为linux编译一个二进制文件,所以我将GOOS更改为linux并将GOARCH更改为amd64。从那以后,我总是收到错误信息gotool:nosuchtool"compile"我正在使用GoClipse,但通过手动运行编译goinstallhello.go我得到了同样的错误。当改回为darwin架构编译时,我现在遇到了同样的错误,所以基本上我现在完全无法编译任何用Go编写的代码。 最佳答案 我是通过g

go - 需要带有 go-flags 的位置参数

我正在用go编写CLI工具,并选择github.com/jessevdk/go-flags进行CLIarg解析。我正在尝试找出使位置参数成为强制性参数的最佳方法。目前,我有以下内容:funcmain(){args,err:=flags.Parse(&opts)iferr!=nil{panic(err)}iflen(args)这有效,但它不会导致显示帮助输出,就像标记为"required:true"的标志一样。有没有办法通过手动调用“打印帮助”函数或设置所需数量的位置参数来复制该行为? 最佳答案 使用os.Args会有帮助吗?例如:p

go - 需要带有 go-flags 的位置参数

我正在用go编写CLI工具,并选择github.com/jessevdk/go-flags进行CLIarg解析。我正在尝试找出使位置参数成为强制性参数的最佳方法。目前,我有以下内容:funcmain(){args,err:=flags.Parse(&opts)iferr!=nil{panic(err)}iflen(args)这有效,但它不会导致显示帮助输出,就像标记为"required:true"的标志一样。有没有办法通过手动调用“打印帮助”函数或设置所需数量的位置参数来复制该行为? 最佳答案 使用os.Args会有帮助吗?例如:p

go - 有没有办法确定使用 `flag.VisitAll` 时是否设置了标志?

我正在使用go的原生“flag”包。它内置了访问所有当前定义的标志的能力,使用flag.VisitAll.我正在尝试构建一个片段,尝试从环境变量中获取该标志的值(如果存在的话),以防万一该标志未设置,但我找不到一种方法来确定特定的标志是否存在是否设置了标志。有没有办法在不实现新参数类型的情况下实现这一点? 最佳答案 使用flag.VisitAll听起来有点费解;我建议获取具有合理默认值的环境变量并将其用作标志的默认值-这意味着如果未设置标志,环境变量将作为后备:packagemainimport("flag""fmt""os")fu

go - 有没有办法确定使用 `flag.VisitAll` 时是否设置了标志?

我正在使用go的原生“flag”包。它内置了访问所有当前定义的标志的能力,使用flag.VisitAll.我正在尝试构建一个片段,尝试从环境变量中获取该标志的值(如果存在的话),以防万一该标志未设置,但我找不到一种方法来确定特定的标志是否存在是否设置了标志。有没有办法在不实现新参数类型的情况下实现这一点? 最佳答案 使用flag.VisitAll听起来有点费解;我建议获取具有合理默认值的环境变量并将其用作标志的默认值-这意味着如果未设置标志,环境变量将作为后备:packagemainimport("flag""fmt""os")fu

go - Cgo + windows + mingw-w64 : "sorry, unimplemented: 64-bit mode not compiled in"

尝试安装时suapapa/go_sass在Windows8.1上使用命令:gogetgithub.com/suapapa/go_sass我遇到了这个错误:cc1.exe:sorry,unimplemented:64-bitmodenotcompiledin根据stackoverflow和其他论坛,这个问题是因为我没有正确的mingw版本(如果我错了请纠正我)。我的go版本是1.3.3windows/amd64。所以我尝试安装在http://tdm-gcc.tdragon.net/上找到的64位版本的gcc.我似乎仍然无法获取我想要安装的软件包。有什么帮助吗?我根本不熟悉C编译器。

go - Cgo + windows + mingw-w64 : "sorry, unimplemented: 64-bit mode not compiled in"

尝试安装时suapapa/go_sass在Windows8.1上使用命令:gogetgithub.com/suapapa/go_sass我遇到了这个错误:cc1.exe:sorry,unimplemented:64-bitmodenotcompiledin根据stackoverflow和其他论坛,这个问题是因为我没有正确的mingw版本(如果我错了请纠正我)。我的go版本是1.3.3windows/amd64。所以我尝试安装在http://tdm-gcc.tdragon.net/上找到的64位版本的gcc.我似乎仍然无法获取我想要安装的软件包。有什么帮助吗?我根本不熟悉C编译器。