用 cygwin 编译一个程序编译完成后,在另外的电脑上运行出现如下错误:
编译机os:windows7
运行机os:windows7
D:\>x64-size_.exe
0 [main] x64-size_ (309288) D:\x64-size_.exe: *** fatal error - add_item ("\??", "/", ...)
failed, errno 22
Stack trace:
Frame Function Args
000FFFFCCE0 001800622EE (0018029F172, 0018027AE81, 00800000000, 000FFFF8B40)
000FFFFCCE0 0018004874A (00000000000, 000FFFFCCE0, 00180020010, 000FFFFABD6)
000FFFFCCE0 00180048782 (000FFFF9BD0, 00000000016, 00800000000, 00000000001)
000FFFFCCE0 001800E30BC (000FFFFCBD0, 000FFFFCDF0, 001800D7488, 00000000000)
000FFFFCCE0 00180133DC5 (001800D344A, 00000000000, 00000000000, 00000000000)
000FFFFCCE0 00180048DA5 (00000000000, 00000000000, 00000000000, 00000000000)
000FFFFFFF0 00180047856 (00000000000, 00000000000, 00000000000, 00000000000)
000FFFFFFF0 00180047904 (00000000000, 00000000000, 00000000000, 00000000000)
End of stack trace
我在编译机上试过运行该程序,一切正常。但换电脑就出错(换了2台电脑,都是win7系统)。
折腾了半天后来解决了,cygwin1.dll 版本的问题。默认的安装版本是3.2.0,后来换成3.1.7就ok了。
怎么换版本见下图,重新运行安装程序将cygwin 及 cygwin-devel 版本都换掉,然后一路点击下一步就ok。