基于CGo的GOOS=wasip1目标构建失败求助
无法构建GOOS=wasip1的CGo项目
环境
- Go 1.22.4
- Debian 12
go env命令输出:
GO111MODULE='' GOARCH='amd64' GOBIN='' GOCACHE='/root/.cache/go-build' GOENV='/root/.config/go/env' GOEXE='' GOEXPERIMENT='' GOFLAGS='' GOHOSTARCH='amd64' GOHOSTOS='linux' GOINSECURE='' GOMODCACHE='/go/pkg/mod' GONOPROXY='' GONOSUMDB='' GOOS='linux' GOPATH='/go' GOPRIVATE='' GOPROXY='https://goproxy.woa.com,direct' GOROOT='/usr/local/go' GOSUMDB='sum.woa.com+643d7a06+Ac5f5VOC4N8NUXdmhbm8pZSXIWfhek5JSmWdWrq7pLX4' GOTMPDIR='' GOTOOLCHAIN='local' GOTOOLDIR='/usr/local/go/pkg/tool/linux_amd64' GOVCS='' GOVERSION='go1.22.4' GCCGO='gccgo' GOAMD64='v1' AR='ar' CC='gcc' CXX='g++' CGO_ENABLED='1' GOMOD='/github.com/sammyne/wasip1-cgo-broken-build/go.mod' GOWORK='' CGO_CFLAGS='-O2 -g' CGO_CPPFLAGS='' CGO_CXXFLAGS='-O2 -g' CGO_FFLAGS='-O2 -g' CGO_LDFLAGS='-O2 -g' PKG_CONFIG='pkg-config' GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build1744286471=/tmp/go-build -gno-record-gcc-switches'
项目结构
|-main.go // 依赖基于C的绑定API |-bindings |-bindings.c // 基于C的绑定实现 |-bindings.go // 基于C的绑定API适配器 |-bindings.h // 基于C的绑定头文件
问题复现
执行构建命令:
GOOS=wasip1 GOARCH=wasm go build -v -o hello-world.wasm .
出现错误:
package github.com/sammyne/wasip1-cgo-broken-build imports github.com/sammyne/wasip1-cgo-broken-build/bindings: build constraints exclude all Go files in /github.com/sammyne/wasip1-cgo-broken-build/bindings
恳请帮忙解决该问题!
参考资料
- Go官方WebAssembly技术文档
内容的提问来源于stack exchange,提问作者sammyne
相关产品推荐
相关产品推荐

