0 开发环境
1.librealsense版本 2.11.0
2.QT版本5.9.4
3.编译器vs2015
1 配置
头路径
|
属性页->C/C++->附加包含目录
C:\Program Files (x86)\Intel RealSense SDK 2.0\include
|
头文件
|
#include <librealsense2/rs.hpp>
|
lib路径
|
属性页->链接器->常规->附加库目录
C:\Program Files (x86)\Intel RealSense SDK 2.0\lib\x64
|
lib文件
|
属性页->链接器->输入->附加库依赖项
realsense2.lib
|
dll路径
|
属性页->调试->环境
PATH=C:\Program Files (x86)\Intel RealSense SDK 2.0\bin\x64%3b
|
dll文件
|
realsense2.dll
|
2 代码冲突及修改
rs_frame.hpp中的 frameset问题
问题原因
这段代码使用了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版本一致。