一、系统环境
- win10
- oracle
- OCI -> instantclient-basic-windows.x64-12.2.0.1.0
- OCI SDK -> instantclient-sdk-windows.64-12.1.0.2.0
- MinGW 64bit
- go1.11.10 windows/amd64
二、安装MinGW
下载地址
安装MinG
修改Architecture为:x86_64,点击 Next > 直到安装完成。注意:安装路径,后面需要用到
设置环境变量
设置环境变量Path,添加:C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin
下载 pkg-config.exe,并复制到 C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin 目录下
下载地址:https://raw.githubusercontent.com/wendal/go-oci8/master/windows/pkg-config.exe
开源地址:https://github.com/wendal/go-oci8
三、下载Oracle的OCI和SDK
下载对应的版本
下载地址:https://www.oracle.com/technetwork/topics/winx64soft-089540.html
创建存放目录:C:\instantclient_12_2,并将oci的两个压缩文件解压到目录中
设置环境变量Path,添加:C:\instantclient_12_2
四、修改oci8.pc
在 C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\lib 下创建pkg-config目录
复制 C:\Go\www\src\github.com\mattn\go-oci8 下的oci8.pc文件 至 pkg-config目录下
修改oci8.pc 中的oci路径
1
2
3
4
5
6
7
8
9
10prefix=C:/instantclient_12_2
exec_prefix=${prefix}
libdir=${prefix}/sdk/lib/msvc
includedir=${prefix}/sdk/include
Name: oci8
Description: oci8 library
Libs: -L${libdir} -loci
Cflags: -I${includedir}
Version: 12.2新建 PKG_CONFIG_PATH 环境变量,设置为:C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\lib\pkg-config
五、检查
检查mingw-w64是否装好:
检查方式 cmd中输入gcc 输出结果是 gcc: fatal error: no input files compilation terminated. 表明mingw-w64安装好。
检查oci8.pc能否找到:
在cmd下执行 pkg-config –cflags –libs oci8 出现
-IC:/instantclient_12_2/sdk/include -LC:/instantclient_12_2/sdk/lib/msvc -loci
类似字样 表明是找到了 oci8.pc 文件
如果找不到 输出为空:(1)看看环境变量PKG_CONFIG_PATH 位置是不是包含oci8.pc (2)最好加入一个环境变量PKG_CONFIG 值C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin\pkg-config.exego build 编译之后报错:msvcr120.dll文件丢失
安装VC++2013
下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=40784