error: cannot bind non-const lvalue reference of type 解决方法

error: cannot bind non-const lvalue reference of type 解决方法

问题来源

使用direct_visual_lidar_calibration时需要安装Iridescence
编译时出现如下错误

/home/flipper/iridescence/src/glk/glsl_shader.cpp:289:36: error: cannot bind non-const lvalue reference of type ‘std::__cxx11::basic_string<char>&’ to an rvalue of type ‘std::__cxx11::string’ {aka ‘std::__cxx11::basic_string<char>’}
     boost::split(error_lines, std::string(error_message.begin(), error_message.end()), boost::is_any_of("\n"));
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

解决方法

问题原因参考https://blog.csdn.net/lisemi/article/details/103928596
修改~/iridescence/src/glk/glsl_shader.cpp:289:36下的代码,增加一个临时变量再传入函数即可。

    auto error_message_all=std::string(error_message.begin(), error_message.end());
    boost::split(error_lines, error_message_all, boost::is_any_of("\n"));
    // boost::split(error_lines, std::string(error_message.begin(), error_message.end()), boost::is_any_of("\n"));
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值