ld plus -static -lc erreur de paramètre `ld : impossible de trouver la méthode de traitement -lc`

cat /etc/redhat-releaseVoir le système d'exploitation est CentOS Linux release 7.6.1810, uname -rvoir la version du noyau est 3.10.0-957.el7.x86_64, la version as --versionque vous voyez asest 2.27-34.base.el7, la version ld --versionque vous voyez ldest 2.27-34.base.el7.
insérez la description de l'image ici

absCallWithStart.sLe code à l'intérieur est le suivant :

.section .data
.global _start
.section .text
_start:
   movq $-5,%rdi
   call abs


   movq %rax,%rdi
   movq $0x3c,%rax
   syscall

Ce morceau de code sert principalement à trouver -5la valeur absolue.
as absCallWithStart.s -o absCallWithStart.ocompiler.
ld absCallWithStart.o -static -lc -o absCallWithStartCréez un lien et signalez une erreur ld: cannot find -lc.
insérez la description de l'image ici

sudo yum install -y glibc-staticinstaller glibc-static.
insérez la description de l'image ici

ld absCallWithStart.o -static -lc -o absCallWithStartLiez à nouveau, ./absCallWithStartexécutez et echo $?vérifiez la valeur de retour.
insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/qq_42108074/article/details/132133777
conseillé
Classement