Golang在windows上开发的一些问题

公司的后台用的是golang开发,用golang开发最好用linux系统,windows真的是会碰见各种奇奇怪怪的问题,这一篇就记录下自己在windows上开发golang的一些坑。

  • 1、Cygwin还是Mingw:先说结论,推荐用mingw。golang中的一些库有的时候会需要gcc编译,一般而言Cygwin和mingw是都可以用的,但是对于sqlite库(忘了是这个还是其它库),用Cygwin可能无法正常编译,这个时候就需要转到mingw。

  • 2、Msys的问题:在直接下载的Mingw中的bin目录下,将mingw32-make.exe复制一份,重命名为make.exe,为了直接使用make来运行makefile文件。如果不复制的话,运行makefile就需要mingw32-make来运行makefile文件。

在这里插入图片描述
此时又会出现另一个问题,如果直接用mingw下的make来运行makefile可能会出现错误:

createprocess(null, # @echo, ...) failed. 
make (e=2): 系统找不到指定的文件。

出现这个错误的一个可能原因,mingw的make不能正确的解析makefile,是因为mingw不支持linux的一些指令,比如rm。这个时候就需要MSYS了,去网上下载MSYS。
我下载的链接是:
https://jaist.dl.sourceforge.net/project/mingwbuilds/external-binary-packages/msys%2B7za%2Bwget%2Bsvn%2Bgit%2Bmercurial%2Bcvs-rev13.7z
(我用的是迅雷下载的,这个网站下载的速度实在是太慢了)
然后解压,得到下图
在这里插入图片描述
此时直接运行msys.bat会出现一个命令行,是可以正常运行linux下的指令的,如下:

但是在goland的命令行中运行,makefile文件还是不能正确解析:
在这里插入图片描述
猜测可能原因是因为这里用的还是mingw的make.exe(msys有自己的make),尝试吧msys的bin路径计到环境变量中,如下:
在这里插入图片描述
然后再在goland的命令行中运行,运行成功了。
在这里插入图片描述

发布了3 篇原创文章 · 获赞 0 · 访问量 326

猜你喜欢

转载自blog.csdn.net/qq_41017399/article/details/104283913