Comment spécifier RPATH dans un fichier makefile?
Je suis en train de spécifier rpath dans mon binaire.
Mon makefile ressemble à ceci-
CC=gcc
CFLAGS=-Wall
LDFLAGS= -rpath='../libs/'
main: main.c
gcc -o main main.c
clean:
rm -f main main.o
Mais quand j'ai une requête rpath l'aide de la commande readelf -a ./main | grep rpath
je ne reçois rien
J'ai essayé en précisant rpath comme LDFLAGS= "-rpath=../libs/"
mais même cela ne semble pas fonctionner.
Quelqu'un peut s'il vous plaît poster un exemple sur comment dois-je spécifier rpath dans un makefile?
GCC et ld versions sont-
gcc (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2
GNU ld (GNU Binutils for Ubuntu) 2.21.0.20110327
source d'informationauteur user837208
Vous devez vous connecter pour publier un commentaire.
Si vous définissez les variables, vous devriez probablement utiliser. C'est bête de ne pas, surtout quand vous ne serez pas comme par magie ensemble de ces variables pour vous! 🙂
Un autre problème est
LDFLAGS
il devrait êtreL'habitude gcc commutateur pour passer des options à l'éditeur de liens est
-Wl,
et il est nécessaire parce que gcc lui-même ne peut pas comprendre le nu-rpath
option de l'éditeur de liens. Alors que certaines versions de différentes versions de gcc accepter-rpath
je ne l'ai jamais vu documenté dans gcc homme de pages ou des pages d'informations. Pour une meilleure portabilité,-Wl,-rpath
doit être préféré.