make编译时fatal error: codecvt: No such file or directory解决方法

在Ubuntu系统中编译openmvs时遇到'fatal error: codecvt: No such file or directory'的问题。通过研究发现,codecvt是C++标准库的一部分,用于字符串编码转换。尝试添加'-std=c++11'编译选项未解决问题,因为我的gcc版本是4.8.5,不完全支持C++11。解决方案是升级到gcc 5以上版本,确保对C++11的支持。经过卸载旧版本gcc,安装gcc 6,并验证版本后,重新编译成功,错误得以解决。

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

在安装openmvs,使用如下命令生成生成 OpenMVS 库文件

sudo make -j2 && sudo make install

编译报错,信息如下

fatal error: codecvt: No such file or directory

查阅codecvt资料后发现,codecvt为c++标准库头文件(示例代码),其起到封装字符串的转换,包括宽和多字节,从一种编码到另一种的作用。
最初从一些帖子上看到,codecvt库只有C++11标准及以上才支持,需要在编译时gcc后添上“-std=c++11”,或在makefile文件中修改,添加命令使gcc默认支持C++11标准,试验后发现不行。
然后看到老外的一篇

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值