英文:
Go - LDFLAGS: -w -hostobj gives error
问题
我正在编写一个调用C代码的Go包。我需要调用主机链接器,但是不幸的是,添加-hostobj
标志会导致以下错误:
gcc: error: unrecognized option ‘-h’
操作系统是Linux,架构是amd64。
以下是所有的标志:
// #cgo CFLAGS: -I. -fPIC
// #cgo LDFLAGS: -lstdc++ -w -hostobj -L. libsomething.a
// #include "something.h"
// #include <stdlib.h>
我做错了什么?
英文:
I am writing a Go package that calls C code. I need to invoke the host linker, but unfortunately adding the -hostobj
flag gives me following error:
gcc: error: unrecognized option ‘-h’
Operating system is Linux, architecture amd64.
Here are all the flags:
// #cgo CFLAGS: -I. -fPIC
// #cgo LDFLAGS: -lstdc++ -w -hostobj -L. libsomething.a
// #include "something.h"
// #include <stdlib.h>
What am I doing wrong?
答案1
得分: 1
在Go源代码库的default
分支的tip
上,使用-linkmode
而不是-hostobj
。例如,-linkmode=external
。
Issue 4069: cmd/ld: invoke host linker for cgo build
尚未标记为已解决。
英文:
At tip
of Go source repository default
branch, use -linkmode
, not -hostobj
. For example, -linkmode=external
.
Issue 4069: cmd/ld: invoke host linker for cgo build
has not been marked as fixed.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论