当前位置: 技术问答>linux和unix
为什么一台机器上编译的程序不能在另一台机器上执行?
来源: 互联网 发布时间:2015-05-21
本文导语: 在一台机器上(SUN WOKSTATION)编译好的程序,通过mail发到另外一台机器上,竟然执行不了! 执行ls -l program 发现x都没有了,我以为是这个原因造成的。然后我chmod a+x program 竟然还是不执行 。/program 还是不行,...
在一台机器上(SUN WOKSTATION)编译好的程序,通过mail发到另外一台机器上,竟然执行不了!
执行ls -l program
发现x都没有了,我以为是这个原因造成的。然后我chmod a+x program
竟然还是不执行
。/program 还是不行,提示illegal instruction××××
我用file program看看,提示信息是ELF-32bits,dynamic linked
是否因为是动态链接,而新机器上缺少动态链接库?那么我在编译的时候应该加什么参数才能静态链接?(我用的是cc编译的)还是因为其他原因?
很着急,虽然这里是linux版,但是希望能碰到奇迹。谢谢
执行ls -l program
发现x都没有了,我以为是这个原因造成的。然后我chmod a+x program
竟然还是不执行
。/program 还是不行,提示illegal instruction××××
我用file program看看,提示信息是ELF-32bits,dynamic linked
是否因为是动态链接,而新机器上缺少动态链接库?那么我在编译的时候应该加什么参数才能静态链接?(我用的是cc编译的)还是因为其他原因?
很着急,虽然这里是linux版,但是希望能碰到奇迹。谢谢
|
用ldd看看到底调用了哪些动态库
|
不如静态编译试试看?
|
CPU相同吗?
|
再传一次,试一下.
|
两边的环境给清楚。