我怎么告诉cgo不要编译文件?

pm1*_*100 2 go cgo

对于我说的常规go文件

// +build !windows
Run Code Online (Sandbox Code Playgroud)

但是cgo将此解释为c代码以进行编译

那我该怎么办?

Tim*_*per 7

构建约束必须出现在包声明之前.

不正确

package mypackage

// +build !windows

// #include <header.h>
//
// ...
import "C"
Run Code Online (Sandbox Code Playgroud)

正确

// +build !windows

package mypackage

// #include <header.h>
//
// ...
import "C"
Run Code Online (Sandbox Code Playgroud)

  • @ pm100实际上,它在文档中有统计数据:[要区分构建约束和包文档,一系列构建约束必须后面跟一个空行.](https://golang.org/pkg/go/build/) (2认同)