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遇到的各种问题总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/web_hacker/article/details/90439860
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/339789

相关文章

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

pip install jupyterlab失败的原因问题及探索

《pipinstalljupyterlab失败的原因问题及探索》在学习Yolo模型时,尝试安装JupyterLab但遇到错误,错误提示缺少Rust和Cargo编译环境,因为pywinpty包需要它... 目录背景问题解决方案总结背景最近在学习Yolo模型,然后其中要下载jupyter(有点LSVmu像一个

解决jupyterLab打开后出现Config option `template_path`not recognized by `ExporterCollapsibleHeadings`问题

《解决jupyterLab打开后出现Configoption`template_path`notrecognizedby`ExporterCollapsibleHeadings`问题》在Ju... 目录jupyterLab打开后出现“templandroidate_path”相关问题这是 tensorflo

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及