SensorSDK Windows 下的编译方法

编译opencv

编译opencv的原因及要求

由于SensorSDK中的几个sample依赖opencv,所以需要将opencv相关的库包含到项目中来。

具体来说,依赖于opencv_world.dll动态库。

又由于我们需要使用VS2019来编译sensorSDK,因此最好也使用VS2019来编译opencv,但是低版本的opencv不支持cmake生成vs2019的工程,所以需要下载最新的opencv的源码,我这里下载的是opencv-4.3.0.

cmake编译opencv的方法

参考:https://blog.csdn.net/Chris_zhangrx/article/details/79090463

configure

只需要注意一点,由于samples程序依赖于opencv_world这个总体库,所以需要在cmake中勾选 Build_opencv_world这个选项 如下图所示:

 

然后在弹出的编译选项框中选择生成VS2019 64位的项目即可。

generate

无特殊要求

VS2019编译opencv

在cmake中执行generate后,会生成opencv.sln解决方案,直接打开这个解决方案,

分别编译debug x64版本,和 release x64版本。编译完成之后,会在分别在bin目录下和lib目录下生成两个文件夹Debug,Release。 bin目录下保存的各个模块的动态库包括opencv_world430d.dll, lib目录下保存的是lib库,如opencv_world430d.lib。

编译SensorSDK源码

cmake 生成SensorSDK vs2019的项目

最重要的一点就是在configure的时候,把OpenCV_DIR这个变量指向上面opencv的编译结果中(即上面提到的bin和lib这两个目录所在的目录), 我的目录是D:/Code2020/opencv-4.3.0/build/VS2019。

有两种方法指定,一是在环境变量中添加OpenCV_DIR环境变量,并将其值设置为D:/Code2020/opencv-4.3.0/build/VS2019。 第二种方法是,直接在CMake工具中修改OpenCV_DIR变量的值为D:/Code2020/opencv-4.3.0/build/VS2019,如下图所示。

 

编译选项配置时,也是选择生成VS2019 64位工程。

VS2019编译SensorSDK

打开用cmake生成的obsensor.sln解决方案。选择 Debug,x64.

先通过生成-》重新生成解决方案,整体编译一遍,第一遍编译会遇到错误(主要问题是找不到obsensord.lib,由于obsensord.lib还没生成),不要关注。

再次 通过生成-》重新生成解决方案 编译一遍就可以编译成功。

期间还有编译unit_tests project时,找不到obsensord.lib。手动在unit_tests project 属性中

附加目录下增加D:/Code2020/OrbbecSensorSDK/obsensor/build/lib/Debug 这条配置,让其可以找到obsensord.lib就行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章