GOARCH
が設定されているarm64
(または省略されている)場合、私のアプリは正常にコンパイルされます。ただし、amd64 バイナリ ( ) をコンパイルしようとするとGOOS=darwin GOARCH=amd64 go build
、次のエラーが発生します。
package [mainPackage]
imports [internalPackageThatUsesC]: build constraints exclude all Go files in [pathToInternalPackageThatUsesC]
[internalPackageThatUsesC]
実装を含む Objective C ファイル、そのヘッダー、およびネイティブ コードのインターフェイスを提供する Go ファイルの 3 つのファイルで構成されます。以下は Go ファイルです。
// +build darwin
package [internalPackageThatUsesC]
/*
#cgo CFLAGS: -x objective-c
#cgo LDFLAGS: -framework Cocoa
#include <Cocoa/Cocoa.h>
#include "[headerFile].h"
*/
import "C"
import (
"encoding/json"
"sync"
"unsafe"
)
... public functions that use the C library to interact with the native code
の注釈が付いた[]
名前は、実際の名前のプレースホルダーであることを意味します。
で実行しようとしましarch -x86_64
たが、出力は同じです。
ここで何が問題なのですか?別のビルドタグを追加する必要がありますか?
PS StackOverflow でこのエラーに関する質問を見つけましたが、amd64 のコンパイルに関するものはありませんでした。この質問は最も近いものでしたが、WebAssembly 固有のものでした。
の結果は次のgo env
とおりです。
GO111MODULE=""
GOARCH="arm64"
GOBIN=""
GOCACHE="/Users/fperson/Library/Caches/go-build"
GOENV="/Users/fperson/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="arm64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/fperson/.asdf/installs/golang/1.16.4/packages/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/fperson/.asdf/installs/golang/1.16.4/packages"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/Users/fperson/.asdf/installs/golang/1.16.4/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/Users/fperson/.asdf/installs/golang/1.16.4/go/pkg/tool/darwin_arm64"
GOVCS=""
GOVERSION="go1.16.4"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/fperson/workspace/personal_projects/timeow/timeow-mac/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/mh/02gmkb756x15018g919jcg980000gn/T/go-build4031963624=/tmp/go-build -gno-record-gcc-switches -fno-common"