Go语言的cgo时用到的GCC编译器

解决:exec: “gcc”: executable file not found in %PATH%
解决:cc1.exe: sorry, unimplemented: 64-bit mode not compiled in

在win下用Go语言的cgo时(比如下面场景)我们会用到的GCC编译器,Win下我们一般用MinGW。

Golang连接Oracle数据库;win下 golang 跨平台编译

MinGW全称Minimalist GNU For Windows,是个精简的Windows平台C/C++、ADA及Fortran编译器,相比Cygwin而言,体积要小很多,使用较为方便。MinGW提供了一套完整的开源编译工具集,以适合Windows平台应用开发,且不依赖任何第三方C运行时库。

MinGW包括:
一套集成编译器,包括C、C++、ADA语言和Fortran语言编译器
用于生成Windows二进制文件的GNU工具的(编译器、链接器和档案管理器)
用于Windows平台安装和部署MinGW和MSYS的命令行安装器(mingw-get)
用于命令行安装器的GUI打包器(mingw-get-inst)

跳到下面看下载连接

MingW 分 32位和64位版本:下载地址分别如下:
http://sourceforge.net/projects/mingw/
http://sourceforge.net/projects/mingw-w64/

比如我在使用 go-oci8 时就碰到过下面错误:

# github.com/wendal/go-oci8
cc1.exe: sorry, unimplemented: 64-bit mode not compiled in

还有这个错误

C:\Users\Dell>go get github.com/beego/admin
# github.com/mattn/go-sqlite3
exec: “gcc”: executable file not found in %PATH%

注意,简单起见我们要下载的是编译好的版本,而不是 mingw-w64-v3.1.0.tar.bz2 (7.0 MB)
我下载的是:
http://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win64/Personal Builds/mingw-builds/4.8.2/threads-posix/seh/
http://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win64/Personal Builds/mingw-builds/4.8.2/threads-win32/seh/
目前主要有三种不同的线程库的定义,分别是Win32,OS/2,以及POSIX,前两种定义只适合于他们各自的平台,而POSIX 定义的线程库是适用于所有的计算平台的。我这里选的是threads-posix。

C++ Exceptions有DWARF、SJLJ、SEH三种处理方式。对应的我们这里选择的是seh方式。

直接下载这个版本

C盘下新建一个文件夹MinGW,把该文件解压到这里,然后设置环境变量

http://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win64/Personal Builds/mingw-builds/4.8.2/threads-posix/seh/x86_64-4.8.2-release-posix-seh-rt_v3-rev2.7z/download

在这里插入图片描述

下载完成后,解压缩到响应目录,比如我这里是解压缩到 C:\MinGW\mingw64 目录下, 我还需要在 path 环境变量中增加 C:\MinGW\mingw64\bin 确保可以找到gcc。
打开CMD,输入gcc,如果出现

gcc: fatal error: no input files
compilation terminated.

说明安装成功

文章来源:博客园==>蝈蝈俊的技术心得==>https://www.cnblogs.com/ghj1976/p/3540257.html

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值