SensorSDK Windows 下的编译方法

    技术2022-07-15  76

    编译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就行。

    Processed: 0.011, SQL: 9