Executable
標記為共享庫文件的可執行二進製文件
從原始碼編譯軟體後,我通常可以通過點兩下啟動編譯的二進製文件。
然而,最近,我編譯的大多數二進製文件都沒有響應點兩下,即使它們可以使用
./MyBinary
. 這似乎不是權限問題,因為我已經完成了sudo chmod +x
。看來我的 Linux 系統將已編譯的二進製文件辨識為共享庫文件,因此不執行它們。
有誰知道為什麼會這樣?是否可以將文件類型更改為執行檔以避免此問題?提前致謝。
系統資訊
手動 Linux x86_64
核心版本:5.6.19-2
ELF 可移植執行檔和庫可能具有相同的簽名並被相同地標識。我不會為此擔心的。如果 Dolphin 適合您,請使用它。
例如
$ file `which file` /usr/lib64/libc-2.31.so /bin/file: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e7df66a91efb28e483449a77221cb4242620541c, for GNU/Linux 3.2.0, stripped /usr/lib64/libc-2.31.so: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d278249792061c6b74d1693ca59513be1def13f2, for GNU/Linux 3.2.0, not stripped
二進制和 glibc 庫都是“ELF 64 位 LSB 共享對象”。