我不得不说,这问题很奇怪。
昨天在cygwin下进行交叉编译,用的交叉编译器是gcc3.4.6-ppc-eabi。把gcc3.4.6-ppc-eabi拷到cygwin目录下后,修改cygwin里面/etc/profile,在最后增加PATH=/cygdrive/d/cygwin/gcc3.4.4-ppc-eabi/bin:.:$PATH 和 export PATH 两句话(即修改环境变量),然后没有退出cygwin,直接在里面编译代码,然后就出现“ppc-eabi 找不到cygintl-3.dll”的提示,问别人,别人说重来没出现过这种问题,于是在网上搜了一下,有老外说在安装cygwin的时候也有这个问题,可能是安装cygwin的时候没有选到有cygintl-3.dll的库。
so我就重装cygwin,第一次重装选的全部package都装,结果装完还是不行。第二次再重装,仔细的看了每个package,结果没有libintl3这个库,有libintl1,libintl2,这就把我郁闷了。大家都装的这个版本(cygwin2005),为什么就俺的有问题呢?
无奈之下,在迅雷上搜了一个cygwin-release-20061108.iso,还好下得比较快,然后重新装(没有卸载原来的,猜这样应该没问题),装的时候仔细看了,有libintl3这个库,这下放心了,重装。但是装得太慢,只有让它自己装一晚上了。
早上过来,重新打开,还是有问题!cygwin根本就不能用了,还是应该卸载了再装的啊。叫hy来帮忙,uinstall再reinstall,不行,于是又装回2005的版本,装完后我先没拷贝交叉编译器,先编译一次,这次没报cygintl-3.dll的问题,当然编译也是通不过的。然后拷贝gcc3.4.4-ppc-eabi(不用3.4.6了)过去,改环境变量,没有重启cygwin,马上编译,提示找不到ppc-eabi,奇怪啊(不过现在没有报cygintl-3.dll的问题)。换gcc3.4.6-ppc-eabi,改环境变量,没有重启cygwin,马上编译,cygintl-3.dll的问题马上跳了出来。kao。
hy过来,整了一通,重新改了环境变量,然后重启cygwin,再编译,好了!我晕啊,cygwin只是在启动时etc/profile一次,所以改了文件后要重启cygwin才行。我一直都没有重启cygwin,可能这样它就找不到交叉编译器,然后就出来莫名其妙的问题。ft。