最近做一個Apriltag識別的項目,需要用到ViSP。
官方安裝教程:https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-install-win10-msvc16-uwp.html,以下部分文字直接從官網翻譯,部分圖片也直接來自官網。
一、安裝VS2019、CMake、git
1.安裝VS2019。在【工作負載】選中【使用C++的桌面開發】,在【單個組件】中選中【用於Windows的C++ CMake工具】。
2.安裝CMake。從官網獲取後點擊下一步安裝即可。安裝後從將CMake.exe所在路徑添加到環境變量,這樣才能在cmd命令行中使用CMake。
3.安裝git。從官網獲取後點擊下一步安裝即可。
二、用cmd命令編譯Visp
打開一個新的cmd命令提示符並在工作區中獲取ViSP源代碼
C:\> cd %VISP_WS%
C:\> git clone https://github.com/lagadic/visp.git
創建一個構建目錄
C:\> mkdir %VISP_WS%\visp-build-vc16
C:\> cd %VISP_WS%\visp-build-vc16
在構建目錄中運行CMake(在這裏爲Visual Studio 16 2019選擇了生成器):
C:\> cmake -G "Visual Studio 16 2019" -A "x64" %VISP_WS%\visp
生成並安裝ViSP(安裝不需要管理員權限)
C:\> cmake --build . --config Release --target install
ViSP現在安裝在%VISP_WS%\visp-build-vc16\install文件夾中了
修改Path變量以添加%VISP_WS%\visp-build-vc16\install\x64\vc16\bin對應於ViSP庫路徑的變量。爲此,在cmd命令提示符下運行:
C:\> setx Path "%Path%:%VISP_WS%\visp-build-vc16\install\x64\vc16\bin"
C:\> exit
設置VISP_DIR變量以幫助CMake找到ViSP作爲第三方庫
C:\> setx Path "%Path%:%VISP_WS%\visp-build-vc16\install\x64\vc16\bin"
C:\> exit
三、使用CMake界面編譯Visp
啓動CMake(cmake-gui)並完成源代碼和二進制文件的位置,如下圖所示。
然後單擊“配置”按鈕。
單擊“是”創建%VISP_WS%/visp-build-vc16
文件夾。
然後選擇編譯器“ Visual Studio 16 2019”,然後單擊“完成”按鈕。
這將啓動CMake配置。如下圖所示,將自動檢測到Eigen3,Flycapture,GDI(圖形設備接口),OpenCV,OpenMP,Pylon和Realsense2第三方。
點擊“Generate”按鈕
%VISP_WS%/visp-build-vc16
文件夾中,您將擁有Visual Studio VISP.sln
生成的解決方案文件。四、生成並安裝ViSP庫
要構建ViSP,只需雙擊%VISP_WS%/visp-build-vc16/VISP.sln解決方案文件。該操作將在Visual Studio C ++中打開ViSP項目。默認情況下,Visual Studio在Debug配置中打開解決方案。將配置修改爲"Release"。
img-win10-msvc16-visp-open.png
進入菜單"Build > Build Solution"以構建ViSP或點擊“ Ctrl + Shift + B”。
在構建過程結束時,您應具有以下指示,表明所有構建均已成功。
img-win10-msvc16-visp-build-end.png
現在安裝ViSP,構建"INSTALL"項目。爲此,請單擊鼠標左鍵"INSTALL"以選擇項目,然後單擊鼠標右鍵以進入“構建”菜單。
在安裝結束時,您應該具有以下內容。
img-win10-msvc16-visp-install-end.png
如上圖所示,所有標頭以及生成的庫都被複制到%VISP_WS\visp-build-vc16\install文件夾中。頭和在圖書館include和x64/vc16分別的子文件夾。
這樣就結束了ViSP安裝的"Release"配置。現在,在%VISP_WS%/visp-build-vc16/install/x64/vc16/bin文件夾中,您具有與ViSP模塊相對應的ViSP DLL庫。
請注意,您還可以在Debug配置中構建ViSP 。在這種情況下,所有庫名稱均以“ d”字符(libvisp_core320d.dll...)爲後綴。