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

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