C++ 在Ubuntu 12.04上链接-未定义对“时钟”的引用_gettime@GLIBC_2.17';

C++ 在Ubuntu 12.04上链接-未定义对“时钟”的引用_gettime@GLIBC_2.17';,c++,linux,ubuntu,C++,Linux,Ubuntu,我在Ubuntu 12.04上编译了一个C++项目,我得到了一个链接错误,说明 对“时钟”的未定义引用_gettime@GLIBC_2.17" 对“时钟”的未定义引用_getres@GLIBC_2.17" 我读了很多关于这个问题的文章,并尝试了所有常用的解决方案(分别)。例如,将-lrt标志添加到g++命令行(我在开始和结束时都尝试过),将cmake链接器标志变量设置为-lrt,将librt.so位置添加到链接目录变量,甚至添加到目标链接库。所有这些都不起作用 当我运行ldd--version时

我在Ubuntu 12.04上编译了一个C++项目,我得到了一个链接错误,说明

对“时钟”的未定义引用_gettime@GLIBC_2.17"

对“时钟”的未定义引用_getres@GLIBC_2.17"

我读了很多关于这个问题的文章,并尝试了所有常用的解决方案(分别)。例如,将
-lrt
标志添加到
g++
命令行(我在开始和结束时都尝试过),将cmake链接器标志变量设置为
-lrt
,将librt.so位置添加到
链接目录
变量,甚至添加到
目标链接库
。所有这些都不起作用

当我运行
ldd--version
时,我得到

ldd(UbuntuEGlibc2.15-0ubuntu10.12)2.15

从研究中我了解到,这是Ubuntu 12.04的最后一个glibc版本。但是错误引用了Glibc2.17。。。 所以我的问题是:我得到这个错误是因为gclib版本吗?有什么办法可以让我得到Ubuntu 12.04的最新版本吗


提前谢谢你

似乎您的项目需要
libc2.17
。或者可能是您安装的g++(或gcc)?第一步是确定谁需要这个更新的libc版本,如果可能的话,尝试使用
2.15
来实现。根据这个
ubuntu13.04
拥有它。是的,就是它@CristiFati。我意识到哪个库具有这种依赖性,于是我向软件所有者询问使用Glibc2.15编译的版本。现在一切都好了!