2 votes

clang : erreur : -lm : entrée 'linker' inutilisée lors de la compilation sur MacOSX

J'essaie de compiler un programme mafTools sur MacOSX en utilisant gnu make. J'obtiens l'erreur suivante :

cd mafExtractor && make all

clang -std=c99 -stdlib=libstdc++ -O3 -c -O3 -Wall -Werror --pedantic -funroll-loops -DNDEBUG -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -I ../../sonLib/lib -I ../inc -I ../external  src/mafExtractorAPI.c -o src/mafExtractorAPI.o.tmp -lm

Cela donne l'erreur :

clang: error: -lm: 'linker' input unused [-Werror,-Wunused-command-line-argument]
make[1]: \*** [src/mafExtractorAPI.o] Error 1
make: \*** [mafExtractor.all] Error 2

J'ai cherché des erreurs similaires mais je n'ai pas pu les résoudre. Toute aide sera la bienvenue. Merci.

C'est le paquet : https://github.com/dentearl/mafTools/tree/master/mafExtractor Tout le reste a été compilé avec succès.

C'est le makefile : https://github.com/dentearl/mafTools/blob/master/mafExtractor/Makefile

Merci beaucoup.

3voto

Mark Setchell Points 11698

Votre clang virguleet comprend la -c ce qui signifie que vous ne voulez pas lier et résoudre les références externes, vous voulez juste produire un fichier objet non lié.

Votre -lm indique que vous voulez établir un lien avec la bibliothèque de mathématiques.

Fondamentalement, les options susmentionnées sont incompatibles - vous ne pouvez pas à la fois établir un lien avec la bibliothèque mathématique et ne pas établir de lien.

TLDR ; Suppression -lm

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X