当前位置: 技术问答>linux和unix
Linux 可执行程序在另外一台机器不能运行
来源: 互联网 发布时间:2016-11-28
本文导语: 在ubuntu下,我将编译好的C程序,在我的机器上能双击运行。在另外一台电脑上双击没有运行,在命令下运行显示下面的错误信息: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No suc...
在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。请问大侠们,如何解决?
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。请问大侠们,如何解决?
|
gcc `pkg-config --cflags --libs gtk+-2.0 libglade-2.0 ` -o myapp myapp.c -lcurl libcurl.a -export-dynamic
试试
试试
|
这种情况之前也遇到过
用静态库是王道~
用静态库是王道~
|
看看可能生成个libcurl.a静态库,然后程序静态编译试试
|
要用到的动态库没有,怎么能执行?
|
,不用在另外一台上安装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这个软件吗!
---------------------------
不安装libcurl 你就运行不了! 2个机器版本一样 里面所装的东西都不一样 那能叫一样的环境吗?
比如我2台windows xp A里面装的.net框架1.0 B里面装的.net框架2.0
恰好有个软件XYZ 需要在.net2.0下运行 你认为如果A电脑不装.net2.0 他能运行XYZ这个软件吗!