在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

注意,简单起见我们要下载的是编译好的版本,而不是 mingw-w64-v3.1.0.tar.bz2 (7.0 MB)

我下载的是:

http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.8.2/threads-posix/seh/ 

http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.8.2/threads-win32/seh/

目前主要有三种不同的线程库的定义,分别是Win32,OS/2,以及POSIX,前两种定义只适合于他们各自的平台,而POSIX 定义的线程库是适用于所有的计算平台的。我这里选的是threads-posix。

http://zh.wikipedia.org/wiki/POSIX%E7%BA%BF%E7%A8%8B 

 

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

这里的最新那个版本:

http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/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。

最新文章

  1. grails 优缺点分析
  2. (转)提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
  3. easyui textbox event 添加
  4. Weblogic环境下hibernate、antlr类加载冲突问题分析及解决方案
  5. 关闭IE窗口
  6. 【Oracle】ORA-00600: [kfgFinalize_2]
  7. Ngen生成Native代码实战及优缺点分析
  8. Java网络编程--echo服务器
  9. ajax使用json
  10. django ngRoute ui-router 开发环境下禁用缓存
  11. 在js中实现新窗口打开页面
  12. C#:对字符串的各种处理
  13. elasticsearch多字段搜索
  14. BIO和NIO
  15. php 生成随机字符串
  16. Java内部类详解(一)
  17. 一种基于SDR实现的被动GSM嗅探
  18. python 爬取网页基础 requests使用
  19. 【基础知识五】神经网络NN
  20. 基于Packet Tracer 组建智能公司局域网

热门文章

  1. SendTextMessage如何打开记事本并显示指定内容
  2. MAVEN ERROR: unable to find valid certification path to requested target 解决办法
  3. linux查询cpu核心数
  4. myplan
  5. 《MySQL悲观锁总结和实践》乐观锁
  6. 30 个 PHP 的 Excel 处理类
  7. 利用SOLR搭建企业搜索平台 之——solr配置solrconfig.xml
  8. 《OD学hadoop》第三周0710
  9. Vector示例一,二
  10. js案例_下滑列表