无法定位程序输入点到_ftol2于动态链接库msvcrt.dll上

时间:2020-12-10 15:51:55
1.在自己机器和装了相同VS2008的机器上可以用,在其他的机器上提示:

  无法定位程序输入点到_ftol2于动态链接库msvcrt.dll上

有1次成功生成可以在其他机器上使用的exe程序,但再次生成则失败了~~

2.用VC++2008体验版相同的代码编译通过,而且在所有机器上都可以正常运行  PS:所有编译配置都一样


请问下到底是怎么回事啊,郁闷死了都~~
谢谢啊~~


17 个解决方案

#1


把C:\WINDOWS\WinSxS下关于VC9的目录和文件全部copy到目标机器上去,就OK了

#2


请检查其他机器上是否有msvcrt.dll,以及msvcrt.dll的版本是否相同

#3


目录是否正确?

#4


还有看版本是否相同啊

#5


没用过2008,看看项目属性“C/C++”—“Code Generation”—“Runtime Library”有无“Multi-threaded (/MT)”选项,如果有就改成这个。

#6


引用 2 楼 lbh2001 的回复:
请检查其他机器上是否有msvcrt.dll,以及msvcrt.dll的版本是否相同


恩,版本不相同,但是我这里怎么配置在可以在其他的机器上运行呢?

也就是不改变其他机器的配置

谢谢


#7


引用 5 楼 cnzdgs 的回复:
没用过2008,看看项目属性“C/C++”—“Code Generation”—“Runtime Library”有无“Multi-threaded (/MT)”选项,如果有就改成这个。


貌似已经是这个了

#8


引用 1 楼 fibbery 的回复:
把C:\WINDOWS\WinSxS下关于VC9的目录和文件全部copy到目标机器上去,就OK了


貌似不行呃~~

#9


引用 8 楼 bysdy 的回复:
引用 1 楼 fibbery 的回复:
把C:\WINDOWS\WinSxS下关于VC9的目录和文件全部copy到目标机器上去,就OK了 
 

貌似不行呃~~

你是copy到目标机器的C:\WINDOWS\WinSxS目录下吗?

#10


对了
同样的编译选项,其他的代码生成的程序确是可以运行的~

#11


恩,是的

#12


是不是因为MFC使用动态链接,而目标机器又没相应的动态库?

调整项目的这个属性不知是否有帮助:
“常规”->“MFC的使用”-> 选择为"在静态库中使用MFC"

#13


已经用  静态库中使用MFC  了

#14


要是不介意的话,把你编译好的执行文件和源代码发给我,我在我的2008上试一试
fibberyliu#sina.com

#15


恩,好的
麻烦你了

#16


无法定位程序输入点到_ftol2于动态链接库msvcrt.dll上
UP 应该是版本问题 注意看文件是否存在

#17


谢谢回帖的各位,尤其是fibbery 大哥

问题解决了,貌似是应为我在VISTA下编译成功的程序用的新版本的msvcert.dll,

所以在xp等的机器上不能用那些新的函数,我拿到xp下面编译就可以,没有其他的提示了

嘿嘿~~~

#1


把C:\WINDOWS\WinSxS下关于VC9的目录和文件全部copy到目标机器上去,就OK了

#2


请检查其他机器上是否有msvcrt.dll,以及msvcrt.dll的版本是否相同

#3


目录是否正确?

#4


还有看版本是否相同啊

#5


没用过2008,看看项目属性“C/C++”—“Code Generation”—“Runtime Library”有无“Multi-threaded (/MT)”选项,如果有就改成这个。

#6


引用 2 楼 lbh2001 的回复:
请检查其他机器上是否有msvcrt.dll,以及msvcrt.dll的版本是否相同


恩,版本不相同,但是我这里怎么配置在可以在其他的机器上运行呢?

也就是不改变其他机器的配置

谢谢


#7


引用 5 楼 cnzdgs 的回复:
没用过2008,看看项目属性“C/C++”—“Code Generation”—“Runtime Library”有无“Multi-threaded (/MT)”选项,如果有就改成这个。


貌似已经是这个了

#8


引用 1 楼 fibbery 的回复:
把C:\WINDOWS\WinSxS下关于VC9的目录和文件全部copy到目标机器上去,就OK了


貌似不行呃~~

#9


引用 8 楼 bysdy 的回复:
引用 1 楼 fibbery 的回复:
把C:\WINDOWS\WinSxS下关于VC9的目录和文件全部copy到目标机器上去,就OK了 
 

貌似不行呃~~

你是copy到目标机器的C:\WINDOWS\WinSxS目录下吗?

#10


对了
同样的编译选项,其他的代码生成的程序确是可以运行的~

#11


恩,是的

#12


是不是因为MFC使用动态链接,而目标机器又没相应的动态库?

调整项目的这个属性不知是否有帮助:
“常规”->“MFC的使用”-> 选择为"在静态库中使用MFC"

#13


已经用  静态库中使用MFC  了

#14


要是不介意的话,把你编译好的执行文件和源代码发给我,我在我的2008上试一试
fibberyliu#sina.com

#15


恩,好的
麻烦你了

#16


无法定位程序输入点到_ftol2于动态链接库msvcrt.dll上
UP 应该是版本问题 注意看文件是否存在

#17


谢谢回帖的各位,尤其是fibbery 大哥

问题解决了,貌似是应为我在VISTA下编译成功的程序用的新版本的msvcert.dll,

所以在xp等的机器上不能用那些新的函数,我拿到xp下面编译就可以,没有其他的提示了

嘿嘿~~~