バイナリはシンボリックリンクを作成した後にのみ実行できます。

バイナリはシンボリックリンクを作成した後にのみ実行できます。

私はやや奇妙な問題に直面しています。非常に深いパスに32ビットqmakeバイナリが配置されています。だから、使いやすいように、次のようにリンクを作成しました。

ln -s /複雑/パス/to/qmake〜/qmake

私は64ビットコンピュータを実行しています。だから32ビットライブラリをインストールしました。実行するとバイナリが読み込まれません。

~/qmake

ファイルが存在すると、そのファイルまたはディレクトリが存在しないというエラーが報告されます。ただし、32ビット以前のバージョンを使用するとスムーズに実行されます。

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

ここがはるかに興味深い場所です。走れば

/lib/ld-linux.so.2 /複雑な/パス/to/qmake

次のエラーが表示されます。

qmake: @ɇ�: QRU�4�������̀]ZY�: H: エラー 18446744073564424934

しかし、すでに述べたように、バイナリはシンボリックリンクを使用してロードされます。

だからここに2つの質問があります。

  1. 私のアプリケーションでローダーを明示的に言及する必要があるのはなぜですか?
  2. シンボリックリンクが正しく機能しているのに、なぜフルパスエラーが発生するのですか?

ベストアンサー1

おすすめ記事