问题标签 [librt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
923 浏览

qt - 使用 librt 构建 QT Embedded

我正在为 OMAP3 平台构建 QT 嵌入式 4.7。在链接阶段,它失败了,因为 clock_gettime 没有符号。在过去我自己的应用程序中,我已经通过链接 librt 解决了这个问题。我是否配置了 QT 嵌入错误?如何在不修改 make 脚本的情况下编译 librt?

非常感谢

0 投票
1 回答
1946 浏览

c - 对于异步 I/O,librt 和 libeio 有什么区别,为什么我会选择其中一个?

真的很想在正文中添加更多内容来解释这个问题……但是标题确实涵盖了所有内容。据我所知,librt它更“官方”(它是 ? 的标准部分libc),但我还记得看到 Node.js 使用libeio. 我应该花更多时间研究哪个?便携性怎么样?他们的 API 有何不同?

(如果有 ≥1,500 代表的人可以在这个问题中添加标签“libeio”和“librt”,我将不胜感激,因为我不能。)

0 投票
1 回答
1050 浏览

python - 如何让 Python 看到 librt?

我刚刚安装了 python-dev:

这样我就可以开始使用 P4Python。但是当我尝试导入 P4 时,我得到:

我需要做什么才能使其正常工作?

0 投票
1 回答
1635 浏览

gcc - 检查 librt 链接

是否有一个宏可以#ifdef用来检查 librt 是否已链接到,即通过-lrtgcc?

0 投票
1 回答
5746 浏览

c++ - 使用 CMake 对“shm_open”的未定义引用

我在 Ubuntu 14.04 下使用 CMake 来配置我的项目。我需要使用第 3 方库(比如 stuff.so)。在 CMakeLists.txt 中,我使用 TARGET_LINK_LIBRARIES 链接素材库。但是,我收到一个错误:

DIR_TO_LIB/stuff.so:-1: 错误:未定义的对“shm_open”的引用

我试图将这些标志放在 CMakeLists.txt 中,但没有奏效:

一个帖子(链接)说 -lrt 应该作为 g++ 的最后一个参数。在我使用 CMake 的情况下,我该怎么做?

更新:我添加了

我发现 -lrt 不是最后一个(即使我把它放在目标链接的末尾)。请参阅此链接以获取编译输出。

从编译输出中可以看出,opencv 有一些链接标志。我不明白这是怎么发生的,因为我首先在 TARGET_LINK_LIBRARIES 中链接了 OpenCV 库。CMake 如何处理这些链接顺序?

另请参阅我的CMakeLists.txt

谢谢你。

0 投票
1 回答
759 浏览

c++ - 添加 -lrt 时跟踪编译器错误“未定义的引用”不起作用

开发大型嵌入式 linux 代码库 / SDK “ Not Invented Here ” - 由 Elbonian Code Slaves 在海上发明,将各种东西钉在一起。

部分代码库是Live555 WIS-Streamer。为了(尝试)修复与时间戳相关的问题,我插入了几个调用clock_gettime(CLOCK_MONOTONIC, &ts);,然后导致编译失败并出现几个undefined reference to 'clock_gettime'错误。

我以前遇到过这个问题,它是通过添加-lrt到编译器选项来解决的librealtime,但是这一次它只是没有帮助。我已经做了很多谷歌搜索和阅读,但我看不到任何明确的答案,而且该项目的 makefile 比在网络上找到的示例要复杂得多。

我需要一些帮助,要么指出我在 makefile 中犯的明显错误,要么通过链跟踪编译器的期望以查看我需要在哪里进行更改。

这个项目是使用给定硬件的一组库交叉编译的,所以-lrt仍然是必需的(我发现在以后的 gcc 库中不再需要它),我们不能轻易更新或更改这些东西。

这是一段失败的编译器输出,非常冗长。我缩短了路径名称只是为了保持在帖子大小限制以下。

不幸的是,我似乎已经达到了帖子长度限制,所以我无法附加 makefile 的完整输出或内容!这是大部分的makefile,我把...snip...我删掉了很多类似的条目放在哪里,你可能会猜到发生了什么:

0 投票
1 回答
433 浏览

c++ - 为什么链接到 librt 会在 g++ 和 clang 之间交换性能?

我刚刚从@tony-d 找到了这个答案,其中包含一个测试虚拟函数调用开销的基准代码。我检查了基准使用g++

我得到了比他更好的表现(比率约为 2),但后来我检查了clang

现在这个比率上升到大约70!

然后我注意到了-lrt命令行参数,经过一番谷歌搜索后,librt我尝试了没有它的g++and clang

如您所见,性能是交换的。

根据我对 的发现librt,它需要clock_gettime和其他相关的时间计算(也许我错了,在这种情况下纠正我!)但是代码在没有 的情况下编译得很好-lrt,而且从我所看到的来看时间似乎是正确的。

为什么链接/不链接librt会对代码产生如此大的影响?


关于我的系统和编译器的信息:

0 投票
2 回答
914 浏览

glibc - 只编译 glibc 的一部分

我只想编译 glibc 附带的众多库之一。

也就是说,我需要的只是 librt 库 (librt.a) 的静态版本。有没有办法告诉 configure/make 做到这一点?

现在,我设置了一个进程,我在运行 configure 时设置了特定的 CFLAGS,然后编译整个 glibc,并在编译后简单地提取 librt.a - 但这看起来肯定是 99% 的浪费和 1% 的产量。

编辑:

建议的命令make rt/librt.a产生

当我查看完整 make 运行的输出时,librt 的构建类似于

不幸的是,这个命令也没有产生好的结果:

有趣的是,当 - 在完整的 make 运行之后 - 我尝试建议的命令时,我得到

0 投票
1 回答
527 浏览

android-ndk - Ndk toolchain complaining about missing lrt option

Getting below error on NDK-build

/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux- x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lrt

I updated Android.mk for absolute path of lrt but issue did not resolve

My Android.mk is here

Can anyone tell whether its ndk configuration issue or something diffrent.

0 投票
0 回答
557 浏览

mingw - Posix timer functions on windows (timer_t, timer_create, timer_start)

Is it possible to compile code, using mingw64, that uses librt functionality? The functions needed a listed below. I am struggling to find any information to that question.

Thanks for your help, Nico