编译的EXE文件只能在自己机子上运行,换了机子就报“执行了非法操作”,怎么办?(在线求解)
我花了一周的时间写的小软件,编译以后在自己机子上运行的很好,我的机子用的是windows xp,后来拷给别人,运行时就弹出“程序执行了非法操作”,只能关闭,无法运行。在windows2000 和98上都试过了,都不行,真是急死我了! 大吓门快帮诊断一下吧! 问题点数:20、回复次数:7Top
1 楼rainy14f(Java要从娃娃抓起)回复于 2002-03-30 21:00:12 得分 0
有人知道吗? 帮忙啊!Top
2 楼tongzhenhua(使名扬)回复于 2002-03-30 21:02:52 得分 7
1.你是用什么写的.要是C#当然不济的啦.还要装NETFRAME
2.要是BCB写话.看你选的是什么编译方式了.要全编译才行,设置方法.
project->option->1.link 中不要把use rtl打勾
->packages中下面use...不要打勾.
Top
3 楼rainy14f(Java要从娃娃抓起)回复于 2002-03-30 21:59:46 得分 0
以前没有全编译的时候,生成的EXE文件300K,后来选了以后,就有900K。
我用的是BCB6Top
4 楼CCLIS(www.cclis.com)回复于 2002-03-30 22:14:52 得分 7
你是不是用了ODBC数据库链接?
如果在你自己的机器上设置了相应的ODBC数据库链接,在用户的机器上就要设置相同的链接,不然,就会出现你所说的错误。Top
5 楼lockey(柳随风)回复于 2002-03-30 22:46:27 得分 6
到那台机子上面调试查错, 原因可能有很多的Top
6 楼rainy14f(Java要从娃娃抓起)回复于 2002-04-01 19:27:23 得分 0
我知道是怎么回事了,是这样的:
在BUILD以后,更改了PROJECT->OPTION里的设置,去掉了"use runtime..."和"use rtl...",然后没有重新进行BUILD,就MAKE了,生成的可执行文件就出了问题.
今天把程序重新BUILD,MAKE了一次,就一切正常了.
真是太马虎了啊,不好意思!多谢各位热心解答,分还是一样给的 :PTop
7 楼tongzhenhua(使名扬)回复于 2002-05-20 19:59:32 得分 0
那我怎么没有收到分???呵呵。不过没关系。
你说程序大了,有900多K,那还是用ASPACK 压一下。BCB5时一般也就5,6百K。
用ASPACK压过后的EXE也就2,3百K。很不错了。我反正每个程序都用它压。Top




