MinGW使用GCC编译,出现ld.exe: cannot find -ladvapi32

背景

学代码查重工具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安装了这三个包之后,为什么还会缺少库文件,以及这样操作以后,接下来会不会有别的问题,又踩坑了再来更博(但愿不要再踩坑了,虽然不太可能)。

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值