시스템 메시지

시스템 메시지

소스에서 소프트웨어를 컴파일한 후 일반적으로 컴파일된 바이너리를 두 번 클릭하여 실행할 수 있습니다.

그러나 최근에 내가 컴파일한 대부분의 바이너리는 더블클릭에 응답하지 않습니다. 작동하더라도 ./MyBinary이는 권한 문제가 아닌 것 같습니다. 왜냐하면 제가 이미 그렇게 하고 있기 때문입니다 sudo chmod +x.

내 Linux 시스템은 컴파일된 바이너리를 다음과 같이 인식하는 것 같습니다.공유 라이브러리파일이므로 실행되지 않습니다.

여기에 이미지 설명을 입력하세요.

왜 이런 일이 일어나는지 아는 사람이 있나요? 이 문제를 피하기 위해 파일 형식을 실행 파일로 변경할 수 있습니까? 미리 감사드립니다.

시스템 메시지

만자로 리눅스 x86_64

커널 버전: 5.6.19-2

답변1

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 공유 객체"입니다.

관련 정보