原文:https://blog.csdn.net/Pabebe/article/details/85290311
https://github.com/IntelRealSense/librealsense/issues/2923
realsenseD435 qt报错:
/usr/local/include/librealsense2/hpp/rs_frame.hpp:876: error: macro "Q_FOREACH" passed 3 arguments, but takes just 2
});
^
原来是foreach 定义冲突
foreach并不属于C++标准语法,QT和realsense分别定义了foreach,导致冲突。
解决: 找到 rs_frame.hpp 将里面所有的 “foreach”改成 例如“foreach_rs” ,并不需要重新编译SDK
ps:还有另一个临时方法:先包含相关的realsense的头文件,再包含qt的相关头文件。