1

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>

私は何を間違っていますか?

4

1 に答える 1

1

tipGoソースリポジトリdefaultブランチでは、ではなくを使用し-linkmodeます-hostobj。たとえば、-linkmode=external

問題4069: cmd/ld: invoke host linker for cgo buildは修正済みとしてマークされていません。

于 2013-03-23T23:48:59.417 に答える