математическая библиотека и расширения реального времени POSIX для Mac

Хотя я новичок, я пытаюсь объяснить свою проблему. Я на Mac и использую командную строку для создания исполняемого файла. Команда компиляции успешно работает в Ubuntu.

cc   program.o file1.o file2.o file3.o file4.o -lm -lrt -o program
ld: library not found for -lrt
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [program] Error 1

Если я запускаю команду -v, я получаю следующее:

Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.11.0 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -o program program.o file1.o file2.o file3.o file4.o -lm -lrt -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.2/lib/darwin/libclang_rt.osx.a
ld: library not found for -lrt
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Любой намек?

Я нашел в это сообщение, что - lm -lrt означает, но так и не смог найти решение.

Обновление 1: Согласно эта ссылка -lrt недоступна для Mac.

Обновление 2: я нашел два возможных решения: (а) либо полностью удалить флаг, либо (б) вместо этого использовать -lSystem.B. Расширения реального времени находятся в libSystem.B.dylib, как объяснено здесь.


person AjanO    schedule 06.06.2016    source источник
comment
Ошибка ld: library not found for -lrt. Это означает, что компоновщик (ld) не смог найти библиотеку, предоставляющую расширения реального времени POSIX. Либо он не установлен, либо вы должны указать его путь с опцией -L.   -  person mouviciel    schedule 06.06.2016
comment
@ mouviciel Согласно ссылке -lrt недоступно для Mac   -  person AjanO    schedule 06.06.2016
comment
Я думаю, в конце концов, я ответил на свой вопрос. Таким образом, я обновил два возможных решения.   -  person AjanO    schedule 06.06.2016
comment
Вы можете ответить на свой вопрос. Если одно из найденных вами решений работает, это поможет другим людям с той же проблемой.   -  person mouviciel    schedule 06.06.2016