二进制只有在创建符号链接后才能运行

时间:2015-05-19 14:23:40

标签: c linux qt operating-system qmake

我面临一个相当奇怪的问题。我有一个32位的qmake二进制文件放在一个非常深的路径上。因此,为了便于使用,我使用

创建了一个链接
  

ln -s / complex / path / to / qmake~ / qmake

我正在运行64位机器。所以我安装了32位库。运行

时,二进制文件无法加载
  

〜/ qmake的

它会报告错误,说明文件存在时没有这样的文件或目录。 但是当我使用32位laoder

时运行顺畅
  

/lib/ld-linux.so.2~ / qmake

这里更有趣的事情是。如果我跑

  

/lib/ld-linux.so.2 / complex / path / to / qmake

显示错误,例如

  

qmake:@ɇ :QRU 4 ]ZY :H:错误18446744073564424934

但正如我已经提到的那样,二进制文件使用符号链接

加载

所以我这里有两个问题。

  1. 为什么我必须明确提及带有应用程序的加载器
  2. 为什么错误的完整路径...当符号链接运行正常?

1 个答案:

答案 0 :(得分:0)

关于#2,可能是原始文件路径长于shell或其他操作环境可以处理的情况。