我在以前的实习项目里用的大概都是mac的环境,但是现在无奈在家,笔记本装的是windows,只能硬着头皮先试试了。
首先,我需要编译XSKY-DEMON这个项目,我看到项目里面有makefile文件,这就说明需要make来编译这个项目,所以自然而然的需要有make指令
我在观看了blog.csdn.net/liuzh501448…,教程后大致安装好了makefile
但是因为里面shell脚本指令用了一些sed/awk这些指令工具所以这些工具也需要安装
因为不知道后面为了执行shell还需要什么指令工具,而且配置这些环境变量十分麻烦,我选择了在windows下安装一个linux的子系统详见Install Ubuntu on Windows 10,Windows Subsystem for Linux Installation Guide for Windows 10
执行完以后,本机所有的windows下的盘符都挂载在mnt文件下
我想着通过linux的一些指令来完成在windows上的编译,因为我的IDE在windows上,所以我想能在windows上跑起来,打断点加速学习进度。
然后坑就来了,首先linux因为字符问题makefile时就会疯狂报错
刚开时我以为我sh解释器有问题,后面才知道这都是因为我项目是先从windows上clone下来,linux环境下无法识别,格式上略有差异
解决办法
就是通过fromdos来将文件的格式转换过去
1、sudo apt-get install tofrodos
2、fromdos 文件名
这些问题解决了之后就是gopath和goroot的路径问题
因为现在文件只有一个,却有两个系统访问它,也就是Linux和window必须要有各自的GOROOT
(GOPATH可以一致,千万别像我想偷懒把GOROOT统一,然后发现window的Go编译器根本无法编译Linux上的)
在安装好了GO以后,需要在环境变量里面声名自己的系统,否则会报下面的错
最后在解决完以上问题后,最终
那么怎么解决呢?
(END)
所以推荐大家尽量别使用windows开发,或者别像我一样想在windows上开发测试,在Linux上编译