Linker le fichier d'entrée inutilisée c++ g++ faire fichier
Je suis incapable de comprendre ce qui est à l'origine de cette erreur que je reçois sur mon projet:
i686-apple-darwin11-llvm-g++-4.2: -lncurses: linker input file unused because linking not done
Et faire mon fichier ressemble à ceci:
CC = g++
LIB_FLAGS = -l ncurses
FLAGS = $(LIB_FLAGS)
DEPENDENCIES = window.o element.o
# FINAL OUTPUTS
main: main.cpp $(DEPENDENCIES)
$(CC) $(FLAGS) -o main.out main.cpp $(DEPENDENCIES)
# MODULES
window.o: main.h classes/window.cpp
$(CC) $(FLAGS) -c classes/window.cpp
element.o: main.h classes/element.cpp
$(CC) $(FLAGS) -c classes/element.cpp
# CLEAN
clean:
rm -rf *.o
rm main.out
Tout compile bien, mais je suis juste curieux de ce qui est à l'origine de ce message d'erreur et ce que cela signifie..
Ne passe pas de l'éditeur de liens arguments si vous êtes simplement à la compilation (
Par l'éditeur de liens arguments, voulez-vous dire que je ne devrais pas inclure l' $(DRAPEAUX) pour l'élément.o et de la fenêtre.o?
Je pense que tu veux dire
Par ailleurs, ce n'est pas une erreur, juste un avertissement.
oui, désolé à ce sujet
-o
) et de ne pas lier. (BTW, ceux de l'éditeur de liens args (-lfoo
) devrait normalement aller à la fin de la ligne de commande.)Par l'éditeur de liens arguments, voulez-vous dire que je ne devrais pas inclure l' $(DRAPEAUX) pour l'élément.o et de la fenêtre.o?
Je pense que tu veux dire
-c
pas -o
?Par ailleurs, ce n'est pas une erreur, juste un avertissement.
oui, désolé à ce sujet
OriginalL'auteur JonMorehouse | 2012-09-21
Vous devez vous connecter pour publier un commentaire.
Ne pas donner de lien drapeaux lors de la compilation (indicateur-c) de vos fichiers source. Prendre un coup d'oeil pour cet exemple de makefile (très similaires dans le makefile docs)
OriginalL'auteur Maxim
Vous êtes de passage options du linker à un compilateur invocation avec
-c
, ce qui signifie que la liaison n'est pas effectuée et ainsi-l
options sont inutilisés. Dans votre cas, votreLIB_FLAGS
ne devrait pas être dansFLAGS
, mais au lieu spécifié dans lamain: ...
règle:OriginalL'auteur JesperE
Comme il a été déjà mentionné que vous êtes en passant de l'éditeur de liens liés à des drapeaux lors de la compilation de la scène. Habituellement, vous voulez les différents drapeaux de compilation et la liaison, par exemple
LFLAGS
àLDFLAGS
.juste à point, je vais le changer.
OriginalL'auteur Paul R