exec: "gcc": go buildしようとすると%PATH%に実行ファイルが見つからない。

Windows10を使用しています。Chaincode]1をビルドしようとしたところ、このようなエラーが報告されました。

# github.com/hyperledger/fabric/vendor/github.com/miekg/pkcs11 
exec: "gcc": executable file not found in %PATH%

私のチェーンコード輸入:

import (
    "fmt"
    "strconv"

    "github.com/hyperledger/fabric/core/chaincode/shim"
    pb "github.com/hyperledger/fabric/protos/peer"
)

Docker]2で問題なく動作しています。

質問へのコメント (6)
ソリューション

gcc (the GNU Compiler Collection) はCコンパイラを提供します。Windowsでは、TDM-GCCをインストールしてください。github.com/miekg/pkcs11 パッケージは cgo を使用しています。Cgoは、Cコードを呼び出すGoパッケージの作成を可能にします。

解説 (4)
apt-get install build-essential

これで問題は解決しました。 gcc / g ++コンパイラとライブラリをインストールします。

解説 (2)

1)>から .exeをインストールします。 https://sourceforge.net/projects/mingw-w64/

1.2)。 ! x86_64アーキテクチャを使用します。

2)「ユーザー変数」と「システム変数」の「C:\ Program Files \ mingw-w64 \ x86_64-8.1.0-posix-seh-rt_v6-rev0 \ mingw64 \ bin」を「PATH」に追加します。 私にはうまくいきます。

Path変数を編集するには、 Windowsキーを押して 'path'と入力し、[システム環境変数の編集]を選択し、[環境変数]をクリックし、 システム変数ユーザー変数Path変数を見つけてから編集します。!

解説 (3)

ウィンドウにhttp://tdm-gcc.tdragon.net/downloadをインストールします。インストールしたら、PCをリセットする必要があります。それで全部。

解説 (0)

Windows環境のhyperledgerでgo buildが動作しない理由については、他の回答として適切な説明がなされています。 コンパイルの目的で、余計なものをインストールせずに動作させるために、以下のことを試してみてください。

go build --tags nopkcs11

私には効果がありました。あなたにも同じ効果があることを願っています。

解説 (1)

MSYS2で「 exec:「gcc」:%PATH%で見つからない実行可能ファイル」エラーを修正するための命令:

-MSYS2をダウンロードします。 -MSYS2フォルダーを$ PATHに入れます。 -MSYS2コマンドラインプログラムを開始します。 -このコマンドを実行します: pacman -S gcc

解説 (1)

試すことができます-これは解決策ではなく、一時的な回避策です。

cgo_enabled=0 go build 

gccをインストールしたら-%PATHがそれを見つける方法があることを確認してください(gcc.exe)-これはなくなるはずです。

解説 (0)

1。 MingGW64をダウンロードする必要があります。 2。 MingGW64フォルダーを$ PATHに入れます。 3。 go build xxx.go(cgoライブラリを使用)を実行します。

解説 (0)

こんにちはjaswanthの主な問題は、%GO_HOME%\ pkg \ tool \ windows_amd64をyuour Environment Pathに登録していないことです。 %GO_HOME%は、goを初めてインストールするリポジトリです。

解説 (0)

gccは、Windows以外のプラットフォーム用にクロスコンパイルする場合や、cgoを使用する場合を除き、必要ないはずです。 しかし、それでもgccが必要な場合は、Windows用のgccポートを提供するMinGWをインストールする必要があります(Cygwinとmsysも動作するはずですが、私は実際にテストしたことがありません)。

編集:あなたのエラーメッセージから、gccを必要とする依存関係であることがわかりました。もしまだご存知でなければ、gccはc/c++コンパイラで、この場合、依存関係やサブ依存関係によって含まれるcソースファイルをコンパイルするために必要だと思われます。

解説 (0)