библиотека не найдена для -lrt - PullRequest
0 голосов
/ 28 марта 2019

Я собираю 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).

Есть идеи, как решить проблему?

...