カスタムコンパイルされた実行可能ファイルを実行すると、「対応するファイルまたはディレクトリはありません」が返されます。

カスタムコンパイルされた実行可能ファイルを実行すると、「対応するファイルまたはディレクトリはありません」が返されます。

実行可能ファイルがありますが、実行すると、次のメッセージが表示されます。「該当するファイルやディレクトリはありません。」

$ chmod a+x bin 
$ file bin 
bin: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, not stripped
$ ./bin 
bash: ./bin: No such file or directory

実行可能ファイルは、オペレーティングシステムと同様に、実際にはELF 64ビットです。

ベストアンサー1

-dynamic-linker通話にオプションを含めることを忘れてしまったからです。ld

-dynamic-linker /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2

そう呼んで、

ld -m elf_x86_64 -dynamic-linker /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 -o bin

正しく機能するようにしてください。

32ビット/64ビットの不一致に関連する同様の問題の詳細については、以下を参照してください。この問題

おすすめ記事