Неопределенные ссылки на powl и log10 даже при том, что-lm используется (Надежный человек через Travis)

При компиляции C файлов с cc -lm -std=c99 ... в Надежном человеке я получаю следующую ошибку:

fraction_math.c:(.text+0x5cb): undefined reference to `powl'

/tmp//fetlang_build//fet_obj_debug//core/chain.c.o: In function `num_to_cstr':

chain.c:(.text+0x682): undefined reference to `log10'

collect2: error: ld returned 1 exit status  

Однако я могу сделать ту же самую сборку во Фрагменте Debian или macOS Горной цепи, и это найдет символы.

1
задан 16 August 2017 в 20:57

1 ответ

Добавление этого сюда из комментария, так как он не был размещен в качестве ответа. Пришлось читать комментарии, чтобы решить вопрос. Я работал над regldg (http://regldg.com/docs/command_line_args.php), у которого была та же проблема. Я добавил #include "stdint.h" в коде, но я подозреваю, что добавление -lm после команды вручную - это то, что решило проблему

"поставив -lm после того, как все остальное ее исправило".

Для regldg решение было следующим:

gcc -O3 -Wall -g alt.o altlist.o build_structs.o char_set.o data.o debug.o grouplist.o grouprecord.o main.o memory.o parse_regex.o program_args.o re_perm.o silist.o tnode.o vlr.o vlrlist.o -o regldg -lm
0
ответ дан 8 April 2020 в 14:42

Другие вопросы по тегам:

Похожие вопросы: