2011-03-20 59 views
0

我正在使用我的本地计算机安装在/ usr/lib /目录下的一些库。我想在另一台安装了相同库但其他版本的机器上运行我的程序。如何指定程序在另一台计算机上运行的路径,但这些库是从我的计算机使用的?如何在makefile中指定特定机器的usr/lib路径?

感谢

+1

这基本上是./configure脚本的工作 – CharlesB 2011-03-20 22:45:42

+1

问题库是共享的还是静态的? – Cascabel 2011-03-20 23:16:46

+1

我觉得这个问题很不清楚。你在你的机器上编译并部署二进制文件吗?或者是关于在另一台机器上配置编译的问题? – dmckee 2011-03-21 02:47:38

回答

0

安全壳没有寻找二进制文件提供服务和在原始机器上运行它们并在远程机器上运行它们(或者实际上相反)。

需要部署可执行文件。

我建议:

  1. 编译你回家的机器上,连接所需的库静态。静态链接至关重要。您可能需要阅读您的编译器文档才能实现此目的。
  2. 将生成的二进制文件复制到远程计算机(可能使用scp)。
  3. Ssh到远程机器并调用静态链接的二进制文件。
  4. ???
  5. 利润。

当然,只有两台机器共享一个处理器架构和通用可执行格式时,这才会起作用。这意味着,linux-to-linux 将会工作,而linux-to-some-other-unixy-OS可能会工作(尝试a.out可执行格式),并且linux-to-windows肯定不会工作。

0

以及为实现这一目标是可能的,你的机器需要连接到应连接到所有其他计算机网络..并在你的脚本,其中指定从哪里获取库发言权/ usr/lib ....改为先给你的IP地址,然后附加/ Machintosh HD/usr/lib ...即如果你的IP地址是192.168.2.4,那么不要给/ usr/lib,给

//192.168.2.7/Machintosh HD/usr/lib/codeorlibraryfile

如果你没有连接到网络,这将无法工作其他明智我没有看到一个理由,这不是工作...检查“//” IM在开始不知道,如果“\”会来“//” ..

希望这有助于

+0

当你使用ssh登录时它不工作......它只在本地机器上搜索,在我的情况下是远程机器。 – Shan 2011-03-21 11:25:11