CMAKE遇到的一些问题undefined reference to `clock_gettime@GLIBC_2.17‘

在使用CMake构建Qt项目时遇到链接错误,问题源于conda环境中libstdc++.so库与系统库版本不一致。尝试退出conda环境并清理cmake文件后,问题得到解决。错误信息显示为`undefined reference to `clock_gettime@GLIBC_2.17'`,表明是库版本不匹配导致的链接错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近使用cmake构建项目,总是会有一些问题,本来一开始想说是奇怪的问题的,不过后来一想也不能算是奇怪的问题,只是因为自己知识储备不足,没有明白其中的原理才导致的

使用Qt默认的cmake可以实现正常编译,但是一但切换到控制台就发现出现如下的错误

undefined reference to `clock_gettime@GLIBC_2.17'

出错的原因是libstdc++.so库链接错误,试过了各种方法都不行
后来发现是因为conda环境下也有一个libstdc++.so,而Qt链接的是/lib/x86_64-linux-gnu/libstdc++.so.6,也就是系统的库
可能就是因为版本的原因导致错误
在这个过程中也试过退出conda环境

conda deactivate

但是还是在make之后链接的时候出错
直到最后才偶然发现,是因为退出环境之后,之前生成的makefile文件并没有清除,所以导致还是之前的设置,所以退出conda环境并清除此前的cmake文件之后就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值