背景
学代码查重工具SIM的时候,需要MSDOS+MinGW的环境,于是去MinGW官网下了MinGW,安装的时候选择了三个基础套件。
安装的时候有几个包下不了,多apply几次就好,每一次都会多成功几个包。
然后试图按SIM的说明里面,make test一下,先是报了语法错误,关于uint8_t,百度一下解决。然后报了连接错误,这个错又卡了我一天,错误如下:
解决过程
我是装过codeblocks的,而截图里是用MSYS来跑新下的MinGW,这样我的电脑里其实有两个MinGW。我想试试看原先的是否正常,所以我写了个hello world,用原来的gcc编译了一下,可以;用这里的gcc编译了一下,不行,继续报这个错:
然后百度必应谷歌,各种方式未果。经过各种失败的搜索经验后,把关键词变成了:
之后,找到了这篇博客,知道了ld.exe是从什么目录进行索引的。
于是,我找到了之前能用的MinGW目录下,找到能用的MinGW/lib/libadvapi32.a,有这个库,再找到目前不能用的MinGW/lib/,果然没有libadvapi32.a,复制过来,解决。
感受
但是我不太理解,用MinGW安装了这三个包之后,为什么还会缺少库文件,以及这样操作以后,接下来会不会有别的问题,又踩坑了再来更博(但愿不要再踩坑了,虽然不太可能)。