前两天在windows上装MinGW gcc环境
安装完毕后,我输入gcc -v也可以正常的输出版本信息。
当我正开心的写一个helloworld程序后,编译结果弹出这个错误:
无法定位程序输入点libintl_setlocale于动态链接库libintl-8.dll上。
刚开始想的是可能bin目录下没有libintl-8.dll这个dll吧,但是确实还是存在的。
然后网上很多就说重装吧,然后,我就重装了,但是依然存在这个问题。
所以说,度娘还是不靠谱,只能求助google,就找到了这个帖子,遇到跟我遇到问题类似:
http://stackoverflow.com/questions/7262362/mingw-the-procedure-entry-point-libiconv-could-not-be-located
就是说,path中的文件路径中包含另一个libintl-8.dll,导致as.exe调用的是另一个libintl-8.dll,而不是其本身bin目录中的。
我看了我的目录,里面D:\Program Files\Lua\5.1\clibs里包含了一个libintl-8.dll,而且在path中比D:\Program Files\MinGW\bin要靠前
所以,首先调用的是lua中的clibs,导致的这个问题。
不仅仅是这个dll,也有可能是libiconv-2.dll这个dll。
所以解决方案可以是,在环境变量PATH中,将mingw的bin目录提前。或者删掉包含同样dll的文件夹。