【问题标题】:clang: error: -lm: 'linker' input unused while compiling on MacOSXclang:错误:-lm:在 MacOSX 上编译时未使用“链接器”输入
【发布时间】:2017-09-13 04:22:00
【问题描述】:

我正在尝试使用 gnu make 在 MacOSX 上编译一个程序 mafTools。我收到以下错误:

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

这给出了错误:

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

我查看了类似的错误,但无法修复它。任何帮助都感激不尽。谢谢!

这是包裹:https://github.com/dentearl/mafTools/tree/master/mafExtractor 此处其他所有内容均已成功编译。

这是生成文件: https://github.com/dentearl/mafTools/blob/master/mafExtractor/Makefile

非常感谢。

【问题讨论】:

    标签: c++ compiler-errors


    【解决方案1】:

    您的clang 逗号并包含-c 选项,这意味着您不想链接和解析外部引用,您只想生成一个未链接的目标文件。

    您的-lm 选项表示您要链接到数学库。

    基本上,上述选项是不兼容的 - 你不能既链接到数学库又不链接。

    TLDR;删除-lm

    【讨论】: