2013-02-27 5 views
1

Je travaille sur un projet et j'ai décidé d'utiliser les classes regex de Boost. J'ai donc compilé uniquement la classe regex et j'ai déplacé libboost_regex.a vers une regex de sous-dossier dans mon projet. Comment puis-je obtenir ce fichier lié?Makefile avec la bibliothèque relative non trouvée

je le makefile suivant: tout le monde

rm=/bin/rm -f 
CC= clang++ 
PROGNAME= story 
CFLAGS= -L ./regex 
LIBS=-llibboost_regex 

SRCS = main.cpp Environment.cpp 
OBJS = main.o Environment.o 

.cpp.o: 
    $(rm) [email protected] 
    $(CC) $(CFLAGS) -c $*.cpp -o $*.o 

all: $(PROGNAME) 

$(PROGNAME) : $(OBJS) 
    $(CC) $(CFLAGS) -o $(PROGNAME) $(OBJS) $(LIBS) 

peut me aider?

Merci

Répondre

1

Ces deux lignes:

CFLAGS= -L ./regex 
LIBS=-llibboost_regex 

devrait être:

LDFLAGS= -L./regex 
LIBS= -lboost_regex 

LDFLAGS étant pour le lieur et le préfixe lib n'est pas nécessaire pour les bibliothèques.

+1

génial, donc j'étais sur la bonne voie haha. Merci – crasx

1

La meilleure façon dans votre cas est probablement:

LIBS=-L./regex -lboost_regex 

ou

LIBS=./regex/libboost_regex.a 
Questions connexes