我正在编写一个调用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>

我究竟做错了什么?

最佳答案

在Go源存储库tip分支的default处,使用-linkmode,而不是-hostobj。例如,-linkmode=external

Issue 4069 : cmd/ld: invoke host linker for cgo build尚未被标记为固定。

10-08 12:00