交叉编译时如何使用Oracle Instant Client SDK?

时间:2018-08-18 06:19:58

标签: oracle go

通常,在Windows的Mac上交叉编译go程序很容易;但是,当程序连接到数据库(例如,使用mattn / go-oci8的Oracle)时,交叉编译将失败,如下所示:

➜  tmp GOOS=windows go build .
# github.com/mattn/go-oci8
../github.com/mattn/go-oci8/oci8_go18.go:13:10: undefined: OCI8Conn

我已经搜索了很多东西,基本上我需要设置

(1)用于目标平台的编译器,以及 (2)为目标平台安装oracle Instant Client SDK。

但是弄清楚该怎么做确实不容易。交叉编译go程序的最佳实践是什么?可以同时在Mac上安装两个版本的oracle sdk(win / mac)吗?

ps。我的oci8.pc是这样的:

prefixdir=/Users/nicklee/OracleDriver/instantclient_12_2/
libdir=${prefixdir}
includedir=${prefixdir}/sdk/include
includedir=${prefixdir}/sdk_windows64/include

Name: OCI
Description: Oracle database driver
Version: 12.2
Libs: -L${libdir} -lclntsh
Cflags: -I${includedir}

0 个答案:

没有答案