在64位Win10环境编译依赖go-oci8的程序

2020-04-09  本文已影响0人  猫和芝士蛋糕

背景

由于要重构公司的监控项目oracle_exporter,不能像以前那样修修补补后丢到虚拟机上测试,只能在开发机上大量进行调试。

然而开发机器是Win10,编译后各种报错,因为依赖的组件各种缺,没办法只能重新搞编译环境,搞了一天总算是搞完了。

版本一览

提醒:如果严格按照操作来之后还是报错,考虑下Oracle Instant Client Package的版本号的问题,我使用12.2的都过不了,替换为12.1的突然就可以用了。但是同事的mac用18.0都没问题,心塞的很。

依赖 版本信息
Windows 10 (x64) 1903 / 18362.720
Go 1.14.1
Oracle Instant Client Package - (Basic+SDK) 12.1.0.2.0
tdm-gcc 9.2.0

步骤

安装依赖

Oracle Instant Client (Basic + SDK)
64-bit tdm-gcc
tip:安装路径上不要有Program Files这样带空格的目录,识别的时候应该会有坑

安装Oracle Instant Client

安装tdm-gcc

tdm-gcc下载后是一个exe文件,直接点击安装,留意下安装路径就行。

创建空文件,命名为oci8.pc

ora=<instaclient-install-dir> // 替换为instantclient_12_1所在的路径
gcc=<tdm-gcc-install-dir> // 替换为tdm-gcc的安装目录

oralib=${ora}\\sdk\\lib\\msvc
orainclude=${ora}\\sdk\\include

gcclib=${gcc}\\lib
gccinclude=${gcc}\\include

Name: OCI
Description: Oracle database engine
Version: 12.1
Libs: -L${oralib} -L${gcclib} -loci
Libs.private: 
Cflags: -I${orainclude} -I${gccinclude}

将ora和gcc的值填写下,确保使用\\作为路径分隔符

设置环境变量

此电脑-属性-高级系统设置-环境变量里添加环境变量


参考链接:

go-oci8 on windows64

上一篇 下一篇

猜你喜欢

热点阅读