Флаг -l {name} указывает компоновщику связываться с lib {name}.Так что -lm ссылается на libm, библиотеку c math.Это не флаг компилятору clang, а переданный компоновщику, поэтому вы не найдете его с clang --help
или man clang
.Если вы запустите clang с флагом --verbose
, вы увидите вызов компоновщика (в моем случае /usr/bin/ld
) в качестве последнего шага.Запустив man ld
или ld --help
(или какой компоновщик использует ваша версия clang), вы найдете документацию.Имейте в виду, что не все флаги передаются компоновщику таким образом (-l, вероятно, передается для совместимости с компилятором gcc, как сказано melpomene ).Чтобы убедиться, что параметр передан, используйте параметр -Wl
clang.