我正在使用Windows 10.当我尝试构建Chaincode时,它报告了此错误
# 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运行良好。
gcc(GNU编译器集合)提供了一个C编译器。在Windows上,安装TDM-GCC。 github.com/miekg/pkcs11
包使用cgo。 Cgo支持创建调用C代码的Go包。
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
和User Variables
的System Variables
。对我来说它有效。
!要编辑Path
变量按Windows
键,键入'path',选择'编辑系统环境变量',单击'Environment Variables',在Path
和System variables
中找到User variables
变量然后编辑。
作为其他答案,给出了为什么go build不适用于Windows环境中的hyperledger的正确解释。为了您的编译目的,只是为了使其工作而不安装任何额外的东西,您可以尝试以下
go build --tags nopkcs11
它对我有用。我希望同样适合你。
apt-get install build-essential
这解决了这个问题。它安装了gcc / g ++编译器和库。
使用MSYS2修复“exec:”gcc“:%PATH%中找不到可执行文件”错误的说明:
pacman -S gcc
。在窗口安装http://tdm-gcc.tdragon.net/download,安装后,您需要重置您的PC。那一切
除非您正在为非Windows平台进行交叉编译或使用cgo,否则不应该使用gcc。但是,如果你仍然需要gcc,你应该安装MinGW,它为Windows提供了一个gcc端口(Cygwin和msys也应该可以工作,虽然我从未真正测试过这个)。
编辑:我现在从您的错误消息中看到,它是一个需要gcc的依赖项。如果您还不知道这一点,gcc是一个c / c ++编译器,在这种情况下,可能需要编译依赖项或子依赖项所包含的c源文件。
您好jaswanth主要问题是您没有将%GO_HOME%\ pkg \ tool \ windows_amd64注册到您的环境路径。 %GO_HOME%是您第一次安装go的存储库。