windows安装mattn/go-oci8遇到的各种问题总结

2023-11-03 17:31

本文主要是介绍windows安装mattn/go-oci8遇到的各种问题总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这两天需要查看一个beego项目,用到了mattn/go-oci8。但是本身不熟悉go以及环境问题,花了我2天时间各种查解决方案,google还好点(最终解决了问题),百度不摆了,这里记录一下。
1.由于用到了Oracle,我需要下载intantclient(版本最好也要跟数据库对应),注意x64或者x86要对应。
2.下载对应客户端的SDK,放到根目录。

在这里插入图片描述
3.将client路径放入PATH环境变量中
在这里插入图片描述

到这里,Oracle的部分就解决了,接下来是编译项目失败相关问题。

go get github.com\mattn\go-oci8报错

1error adding symbols: File in wrong format

2 C:/MinGW/mingw64/bin/../bin/ld.exe: cannot find -loci

3mattn\go-oci8\oci8.go:4:10: fatal error: oci.h: No such file or directory

由于我不是很熟悉C编译那一套,我说说我尝试的各种方法。

1.C:\Go_WorkSpace\src\github.com\mattn\go-oci8目录下有一个oci8.pc,请根据版本配置无误(ps:好像11.2跟12.1的版本,libdir路径不一样,请大家查一下),并且创建新的环境变量PKG_CONFIG_PATH,根据自己的环境,加入上面oci8的路径;pkg-config --cflags --libs oci8看下cflag、libs是否与配置的相同。

在这里插入图片描述
2.我的win是64位,之前用的gcc是TDM-GCC-64,始终报第一条错误,我决定换成MinGW64,网上下载安装包或者编译好的包都行(为什么会换呢?https://stackoverflow.com/questions/35004744/golang-oci8-error-adding-symbols-file-in-wrong-format)。

在环境变量中删除之前的TDM-GCC-64\bin,添加新的MINGW64\bin.
在这里插入图片描述
执行where gcc,如果只有一个,mingw64\bin\gcc.exe,说明对了
在这里插入图片描述

最后,好像还有几个错来着,但是搞忘了。如果大家仍没有解决,可以@我,看看有没有我碰到过而且解决的,以上。

这篇关于windows安装mattn/go-oci8遇到的各种问题总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/339789

相关文章

一文详解如何查看本地MySQL的安装路径

《一文详解如何查看本地MySQL的安装路径》本地安装MySQL对于初学者或者开发人员来说是一项基础技能,但在安装过程中可能会遇到各种问题,:本文主要介绍如何查看本地MySQL安装路径的相关资料,需... 目录1. 如何查看本地mysql的安装路径1.1. 方法1:通过查询本地服务1.2. 方法2:通过MyS

电脑软件不能安装到C盘? 真相颠覆你的认知!

《电脑软件不能安装到C盘?真相颠覆你的认知!》很多人习惯把软件装到D盘、E盘,刻意绕开C盘,这种习惯从哪来?让我们用数据和案例,拆解背后的3大原因... 我身边不少朋友,在使用电脑安装软件的时候,总是习惯性的把软件安装到D盘或者E盘等位置,刻意避开C盘。如果你也有这样的习惯,或者不明白为什么要这么做,那么我

使用雪花算法产生id导致前端精度缺失问题解决方案

《使用雪花算法产生id导致前端精度缺失问题解决方案》雪花算法由Twitter提出,设计目的是生成唯一的、递增的ID,下面:本文主要介绍使用雪花算法产生id导致前端精度缺失问题的解决方案,文中通过代... 目录一、问题根源二、解决方案1. 全局配置Jackson序列化规则2. 实体类必须使用Long封装类3.

基于Go语言实现Base62编码的三种方式以及对比分析

《基于Go语言实现Base62编码的三种方式以及对比分析》Base62编码是一种在字符编码中使用62个字符的编码方式,在计算机科学中,,Go语言是一种静态类型、编译型语言,它由Google开发并开源,... 目录一、标准库现状与解决方案1. 标准库对比表2. 解决方案完整实现代码(含边界处理)二、关键实现细

ubuntu20.0.4系统中安装Anaconda的超详细图文教程

《ubuntu20.0.4系统中安装Anaconda的超详细图文教程》:本文主要介绍了在Ubuntu系统中如何下载和安装Anaconda,提供了两种方法,详细内容请阅读本文,希望能对你有所帮助... 本文介绍了在Ubuntu系统中如何下载和安装Anaconda。提供了两种方法,包括通过网页手动下载和使用wg

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

如何在Ubuntu上安装NVIDIA显卡驱动? Ubuntu安装英伟达显卡驱动教程

《如何在Ubuntu上安装NVIDIA显卡驱动?Ubuntu安装英伟达显卡驱动教程》Windows系统不同,Linux系统通常不会自动安装专有显卡驱动,今天我们就来看看Ubuntu系统安装英伟达显卡... 对于使用NVIDIA显卡的Ubuntu用户来说,正确安装显卡驱动是获得最佳图形性能的关键。与Windo

ubuntu16.04如何部署dify? 在Linux上安装部署Dify的技巧

《ubuntu16.04如何部署dify?在Linux上安装部署Dify的技巧》随着云计算和容器技术的快速发展,Docker已经成为现代软件开发和部署的重要工具之一,Dify作为一款优秀的云原生应用... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。它

Idea插件MybatisX失效的问题解决

《Idea插件MybatisX失效的问题解决》:本文主要介绍Idea插件MybatisX失效的问题解决,详细的介绍了4种问题的解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录一、重启idea或者卸载重装MyBATis插件(无需多言)二、检查.XML文件与.Java(该文件后缀Idea可能会隐藏

Nginx 访问 /root/下 403 Forbidden问题解决

《Nginx访问/root/下403Forbidden问题解决》在使用Nginx作为Web服务器时,可能会遇到403Forbidden错误,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录解决 Nginx 访问 /root/test/1.html 403 Forbidden 问题问题复现Ng