Comment ajouter des chemins d'accès aux bibliothèques à la commande ./configure?

40

J'aimerais que ./configure se connecte à une bibliothèque et que certains fichiers soient inclus. Ma bibliothèque est stockée dans /home/foo/sw/lib/ et mes fichiers sont stockés dans /home/foo/sw/include .

./configure --help rejette les éléments suivants:

Certaines variables d’environnement influentes:

  CC           C compiler command
  CFLAGS       C compiler flags
  LDFLAGS      linker flags, e.g. -L<lib dir> if you have libraries in a 
               nonstandard directory <lib dir>
  LIBS         libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS     (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if 
               you have headers in a nonstandard directory <include dir>
  CPP          C preprocessor

J'ai essayé différentes combinaisons:

./configure --prefix=/home/foo/sw -I</home/foo/sw/include> -L</home/foo/sw/lib/>
./configure --prefix=/home/foo/sw -I=/home/foo/sw/include -L=/home/foo/sw/lib/
./configure --prefix=/home/foo/sw -I/home/foo/sw/include -L/home/foo/sw/lib/
etc..

Mais je ne peux pas sembler avoir la syntaxe correcte. Si quelqu'un peut m'aider, cela serait grandement apprécié. MERCI!

    
posée BlackAdder 05.12.2013 - 06:34
la source

1 réponse

42

Vous avez manqué le sens de

  

Quelques variables d'environnement influentes :

Vous les définissez donc comme une variable d’environnement; configure détermine LDFLAGS et CPPFLAGS en vérifiant les fichiers de configuration et l'environnement. Vous pouvez les définir comme ça ...

export CPPFLAGS='-I/home/foo/sw/include'
export LDFLAGS='-L/home/foo/sw/lib/'
./configure

ou en un seul trait:

env CPPFLAGS='-I/home/foo/sw/include' LDFLAGS='-L/home/foo/sw/lib/' ./configure

Veuillez noter qu'il est possible que vous ne puissiez pas utiliser les sous-répertoires sous /home/foo/sw/lib/

f.e. placer votre bibliothèque dans /home/foo/sw/lib/bar/ peut vous montrer une erreur lib not found .

Cependant, vous pouvez utiliser plusieurs entrées:

LDFLAGS="-L/home/foo/sw/lib -L/home/foo/bar/lib"

    
réponse donnée Rinzwind 05.12.2013 - 08:59
la source

Lire d'autres questions sur les étiquettes