goland编译启用go modules的go项目找不到cgo依赖的.c或者.h文件问题解决一例

开发工具goland,golang版本1.13,项目里面用到了cgo,具体点用的操作oracle的godror,这个组件库是c语言的写的,编译程序时需要用到一系列的.c和.h文件去完成编译过程。

项目里面启动了go modules,go mod vendor以后在开发工具里面是看不到有任何的.c或者.h文件的,如下:

只有.go文件和一些其他的文件,没有odpi要用到的.c和.h文件,编译时报错:

fatal error: 'dpiImpl.h' file not found
#include "dpiImpl.h"
找不到dpiImpl.h文件,反复尝试go mod vendor也没有解决问题,最后猛然想到,近期我对goland进行一次File->Invalidate Caches / Restart操作,肯定是某些文件被从缓存里面清掉了,诡异的是我的另外一个项目也用到了godror,同样在开发工具里面也看不到.c和.h文件,但是编译运行一切顺利,说明肯定是在某个地方把编译结果给缓存了,顺着这个思路找下去问题也就解决了:

File->Settings->Go

 Dep->不要选中Enable dep integration

Go Modules(vgo),选中Enable Go Modules(vgo) integration,在Proxy里面输入代理网址,如goproxy.cn等,下面的Vendoring mo

已标记关键词 清除标记
matlab原文件 版本为2019b MATLAB [1] 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页