goarch=arm64
gotvm/* のときに myrepo/ を無視するように go リポジトリを構築したい
他の場合は完全なリポジトリを構築します。
プロジェクトのフォルダー構造は次のとおりです:
リーリーamd64 でビルドするとすべてが正常に動作します:
goos=linux goarch=amd64 go build -o amdbuild main.go
arm64 に基づいてビルド
goos=linux goarch=arm64 go build -o armbuild main.go
バイナリが作成される前に次のエラーが発生します:
リーリー package gotvm
(array.go
, device.go
, gotvm.go
) を使用する場合は、次の行を追加します。各ファイルの先頭についても同様です:
私が試したその他の手順:
クリーン -modcache
パッケージ gotvm
に属するすべてのファイルの上に追加します (個別に)
arch が
arm64 でない場合、フォルダーを無視したいと考えています。
tl;dr; リポジトリを arm64 と amd64 にクロスコンパイルする方法はありますか? arm64 ビルドでは tvm を無視したいと考えています。 ###仕様:###
go バージョン:
go1.20.4 linux/amd64システム: ubuntu 20.04.5 lts
doc.go ファイル:
リーリー
ただし、この問題が発生した場合は、ほとんどの場合、このパッケージをインポートするファイルが少なくとも 1 つあり、
goarch=arm64
goarch=arm64 の場合は、このファイルも除外します)。
問題を説明するためにデモを追加します。これらはファイルです:
リーリー
go.mod
:リーリー gotvm/gotvm.go
:リーリー main.go
:リーリー このデモでは、main.go
から_ "example.com/m/gottvm" を削除するか、前述の
doc.go ファイルを追加します。問題を解く。
main.go から
_ "example.com/m/gotvm" を削除した方がよいと思います。
以上がARM64 バイナリをビルドするときに gotvm を無視する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。