Linux 可执行程序在另外一台机器不能运行

在ubuntu下,我将编译好的C程序,在我的机器上能双击运行。在另外一台电脑上双击没有运行,在命令下运行显示下面的错误信息:
 error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory,
  我locate,在我的电脑上确实有libcurl.so.4,在另外一台上没有libcurl.so.4。我想生成的可执行程序可以直接运行,不用在另外一台上安装libcurl.so.4。这两台机器的版本是一样的,都是ubuntu 11.04。请问大侠们,如何解决?

作者: lys05059110   发布时间: 2011-05-10

,不用在另外一台上安装libcurl.so.4。这两台机器的版本是一样的,都是ubuntu 11.04
---------------------------
不安装libcurl 你就运行不了! 2个机器版本一样 里面所装的东西都不一样 那能叫一样的环境吗?


比如我2台windows xp A里面装的.net框架1.0 B里面装的.net框架2.0
恰好有个软件XYZ 需要在.net2.0下运行 你认为如果A电脑不装.net2.0 他能运行XYZ这个软件吗!

作者: steptodream   发布时间: 2011-05-10

看看可能生成个libcurl.a静态库,然后程序静态编译试试

作者: ww2000e   发布时间: 2011-05-10

要用到的动态库没有,怎么能执行?

作者: goodmrning   发布时间: 2011-05-10

这种情况之前也遇到过
用静态库是王道~

作者: yfkiss   发布时间: 2011-05-10

大家说的也有些道理,但是我想可能根本原因不在这里。情况是这样的:为了更好描述,有三台机器分别为:A,B,C,在A,B上安装了一个shell脚本,在A上能locate libcurl.so.4,在B,C上不能locate libcurl.so.4。我在A机器上编译通过了程序,并且能双击运行。在B机器上能双击运行。在C机器上不能双击运行,出现下面错误:error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory。
  所以我觉得有没有libcurl.so.4,不是关键,跟这个shell脚本有关系。但是这个shell脚本没有安装libcurl.so.4的功能,否则我在B上就能locate libcurl.so.4。
  请大侠们继续解决该问题!

作者: lys05059110   发布时间: 2011-05-10