QT5.9与realsense联调

QT5.9与realsense联调

Qt中代码与realsense代码冲突

rs_frame.hpp中的 frameset问题
QT5.9与realsense联调

  • 问题原因
    这段代码使用了foreach,foreach并不属于C++标准语法,QT和realsense分别定义了foreach,两个foreach定义出现了冲突。
    frame first_or_default(rs2_stream s) const
    {
    frame result;
    foreach([&result, s](frame f) {
    if (!result && f.get_profile().stream_type() == s)
    {
    result = std::move(f);
    }
    });
    return result;
    }
    
  • 修改方法
    将realsense的rs_frame.hpp中的 frameset中的3个foreach改一个名字,如foreach_rs。
    重新编译librealsense代码,生成lib和dll。
    替换C:\Program Files (x86)\Intel RealSense SDK 2.0\bin目录下realsense2.lib和realsense2.dll
    替换过程注意64bit/32bit和debug/release版本一致。