我正在尝试运行一个为 Ubuntu 制作并适用于 Mac OS 的项目。当我执行 make 时,出现以下错误:

ld: library not found for -lrt
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [consumer] Error 1
make[1]: *** [CMakeFiles/consumer.dir/all] Error 2
make: *** [all] Error 2

我在 thole 项目中看不到任何具有该名称的库。

谁能解释它是什么以及如何解决它?

最佳答案

在旧的 Linux 系统上,一些函数(例如 clock_gettime )被记录为需要 -lrt 来用于旧版本的 GNU libc。最近的 glibc 不再是这种情况(2013 年的 2.17 之后)。

因此,您可以从 -lrt 中删除 Makefile(并从生成它的 cmake 配置事物中删除该事物)。

顺便说一句,删除 -lrt 也应该适合最近的 Linux 发行版。

PS。如果您要为Linux系统付费,则应咨询支持部门。

关于c++ - ld : library not found for -lrt,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47703239/

10-10 14:58