QT5.9.4中部署librealsense开发环境
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版本一致。