Я собираю Makefile, которому нужна библиотека -lrt.Мой компилятор - gcc-8, и в настоящее время я работаю на OSX Mojave OS.Я запускаю из терминала с помощью команды make и получаю следующую ошибку:
ld: библиотека не найдена для -lrt collect2: ошибка: ld вернул 1 состояние выхода make: *** [eflomal]Ошибка 1
Я уже пытался удалить -lrt из LDFLAGS, но в этом случае я получаю другие ошибки:
/usr/local/Cellar/gcc/8.3.0/bin/gcc-8 -lm -lgomp -fopenmp eflomal.o -o eflomal
Undefined symbols for architecture x86_64:
"___kmpc_critical", referenced from:
_.omp_outlined..57 in eflomal.o
_.omp_outlined..61 in eflomal.o
"___kmpc_end_critical", referenced from:
_.omp_outlined..57 in eflomal.o
_.omp_outlined..61 in eflomal.o
"___kmpc_for_static_fini", referenced from:
_.omp_outlined. in eflomal.o
_.omp_outlined..57 in eflomal.o
_.omp_outlined..61 in eflomal.o
"___kmpc_for_static_init_4", referenced from:
_.omp_outlined. in eflomal.o
_.omp_outlined..57 in eflomal.o
_.omp_outlined..61 in eflomal.o
"___kmpc_fork_call", referenced from:
_main in eflomal.o
_align in eflomal.o
ld: symbol(s) not found for architecture x86_64
Заголовок Makefile выглядит следующим образом:
export CXX=/usr/local/Cellar/gcc/8.3.0/bin/g++-8
export CC=/usr/local/Cellar/gcc/8.3.0/bin/gcc-8
CFLAGS=-Ofast -march=native -Wall --std=gnu99 -Wno-unused-function -g -fopenmp
# This is more suitable for debugging:
#CFLAGS=-Og -Wall --std=gnu99 -Wno-unused-function -g -fopenmp
#LDFLAGS=-lm -lrt -lgomp -fopenmp
LDFLAGS=-lm -lgomp -fopenmp -lrt
Первые две строки необходимы для использования компилятора gcc вместо clang (по умолчанию в OSX).
Есть идеи, как решить проблему?