は、しかし、CGOは、だから私は何をすべきかを持っているんファイルをコンパイルしないようにするにはどうすればよいですか?私は</p> <pre><code>// +build !windows </code></pre> <p>言う通常のゴーファイルの
をコンパイル取得するCコードとしてこれを解釈しますか?
は、しかし、CGOは、だから私は何をすべきかを持っているんファイルをコンパイルしないようにするにはどうすればよいですか?私は</p> <pre><code>// +build !windows </code></pre> <p>言う通常のゴーファイルの
をコンパイル取得するCコードとしてこれを解釈しますか?
ビルド制約は、パッケージ宣言の前に指定する必要があります。
誤った
package mypackage
// +build !windows
// #include <header.h>
//
// ...
import "C"
正しい
// +build !windows
package mypackage
// #include <header.h>
//
// ...
import "C"
脇に - 私は空白行にどのように敏感なcgoがあるかを知ることはできません。 +ビルドラインとパッケージの間のラインを逃します。ビルドラインは無視されます。 #cgo行と "C"インクルードの間に行を追加すると、その(#cgo)は無視されます - 実際には – pm100
@ pm100であり、実際には文書化されています:[ビルド制約をパッケージドキュメントと区別するために、制約には空白行を続ける必要があります。](https://golang.org/pkg/go/build/) – OneOfOne
@OneOfOneはcgoフラグの制約でない限り、空行を持たない – pm100
あなたはCGOを無効にする、または単にファイルを無視しますか? – JimB
私が理解しているところでは、Cコードとして指定されたファイルは、デフォルトでgcかgccを使用してコンパイルされていますので、gcにファイルを無視してここに適用する方法を理解することをお勧めします。 – evanmcdonnal
私はそれを全く処理したくありません(goまたはgcc) – pm100