exec:“gcc”:尝试go build时在%PATH%中找不到可执行文件

问题描述 投票:37回答:9

我正在使用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运行良好。

windows go build hyperledger-fabric cgo
9个回答
40
投票

gcc(GNU编译器集合)提供了一个C编译器。在Windows上,安装TDM-GCCgithub.com/miekg/pkcs11包使用cgo。 Cgo支持创建调用C代码的Go包。


5
投票

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添加到PATHUser VariablesSystem Variables。对我来说它有效。

!要编辑Path变量按Windows键,键入'path',选择'编辑系统环境变量',单击'Environment Variables',在PathSystem variables中找到User variables变量然后编辑。


2
投票

作为其他答案,给出了为什么go build不适用于Windows环境中的hyperledger的正确解释。为了您的编译目的,只是为了使其工作而不安装任何额外的东西,您可以尝试以下

go build --tags nopkcs11

它对我有用。我希望同样适合你。


2
投票
apt-get install build-essential

这解决了这个问题。它安装了gcc / g ++编译器和库。


1
投票

使用MSYS2修复“exec:”gcc“:%PATH%中找不到可执行文件”错误的说明:

  • 下载MSYS2。
  • 将MSYS2文件夹放入$ PATH。
  • 启动MSYS2命令行程序。
  • 运行以下命令:pacman -S gcc

1
投票

在窗口安装http://tdm-gcc.tdragon.net/download,安装后,您需要重置您的PC。那一切


0
投票

除非您正在为非Windows平台进行交叉编译或使用cgo,否则不应该使用gcc。但是,如果你仍然需要gcc,你应该安装MinGW,它为Windows提供了一个gcc端口(Cygwin和msys也应该可以工作,虽然我从未真正测试过这个)。

编辑:我现在从您的错误消息中看到,它是一个需要gcc的依赖项。如果您还不知道这一点,gcc是一个c / c ++编译器,在这种情况下,可能需要编译依赖项或子依赖项所包含的c源文件。


0
投票
  1. 你需要下载MingGW64
  2. 将MingGW64文件夹放入$ PATH
  3. run go build xxx.go(带有cgo库)

0
投票

您好jaswanth主要问题是您没有将%GO_HOME%\ pkg \ tool \ windows_amd64注册到您的环境路径。 %GO_HOME%是您第一次安装go的存储库。

© www.soinside.com 2019 - 2024. All rights reserved.