前些天我编译的一个程序在其他的机器上都可以运行的好好的,这些天更新了一些代码,因为重装了系统,用VS2008编
译出新的EXE程序,发现在其他的机器上运行后提示:无法定位程序输入点到_ftol2于动态链接库msvcrt.dll上。
查资料查了很久也没找到可用的办法,于是我把前些天代码重新编译了下,居然也提示说:无法定位程序输入点到_ftol2于动
态链接库msvcrt.dll上。
最后用同学的XP下+VC2008来编译,结果在其他的机器上又可以运行了。
如果有和我一样遇到这种情况的同学可以试试。
其他的办法(我没有成功,但有些机器上应该是可以):1.把winsxs下的WinSxS目录下的VC9的文件打包,还有C:/WINDOWS/WinSxS/Manifests、C:/WINDOWS/WinSxS/Policies目录下,全部拷到目标机器上(这个是论坛上的fibbery大哥说的)
2.用高版本的msvcrt.dll 替换windows/system32/下的msvcrt.dll (这个是百度的)
3.用系统还原还原不能运行的机器,特别是一开始可以运行的那种
刚刚再次做了下试验,终于发现出问题的真正原因了,原来不是编译问题,也不是msvcrt.dll的问题,而是因为我把VISTA下的IPHLPAPI.DLL拷到了程序目录下,而IPHLPAPI.DLL的版本和xp自带的版本不一致所以导致出错,删除IPHLPAPI.DLL后,一切都恢复了~~~囧