CloudCompare是一款基于GPL開源協議的3D點云處理軟件,可以在Windows、MacOS和Linux上運行。我們可以通過閱讀其源碼來一窺3D點云處理的基本算法,也可以通過設計新的plugin來拓展本軟件。本篇博文首先將介紹如何對其源碼進行編譯(這里默認OS為Windows)。
預熱
- 從github上clone本軟件的源碼到本地,如:C:/cloudcompare/CloudCompare
$ git clone --recursive https://github.com/cloudcompare/trunk.git
安裝CMake(3.0版本及以上)
安裝Qt(5.5版本及以上)
確保安裝了C++11的編譯器(Visual Studio 2013及以上)
生成項目
-
啟動CMake GUI
在Where is the source code后填入本地源碼的路徑,如:C:/cloudcompare/CloudCompare;
在Where to build the binaries后填入將要生成的項目的路徑,如:C:/cloudcompare/Build;
方便起見,勾選“Grouped”復選框,以上設置如下圖所示:
CMake GUI中的設置 點擊“Configue”,選擇生成器版本,如:Visual Studio 12 2013 Win64,然后等待第一次配置完成。
第一次配置完成后,會出現若干錯誤
打開“Ungrouped Entries”,手動設置Qt的安裝路徑QT5_ROOT_PATH,如:C:\Qt\5.9.1\msvc2013_64;
打開“OPTION”,根據實際需要勾選相應選項,也可以保持默認;
打開“INSTALL”,根據實際需要勾選想要編譯的plugin,默認情形下CloudCompare不需要任何plugin。不過我們可以勾選上“INSTALL_QDUMMY_PLUGIN”,這是一個plugin模板,我們可以通過它來了解如何設計開發自己的plugin。再次點擊“Configue”,等待第二次配置完成后,點擊“Generate”生成項目。
編譯項目
打開生成項目的路徑,如:C:\cloudcompare\Build。然后打開CloudCompareProjects.sln,可以先在Debug x64模式下右鍵解決方案并選擇Build Solution,build過程需要幾分鐘。
build成功后,右鍵CloudCompare將其設置為啟動項目,嘗試啟動會發現彈出錯誤對話框,提示找不到若干個dll。這時我們可以分別在\Build\libs\qCC_db\Debug、\Build\libs\qCC_io\Debug和\Build\CC\Debug文件夾中分別找到QCC_DB_LIBd.dll、QCC_IO_LIBd.dll和CC_CORE_LIBd.dll,并將其copy到C:\Windows\System32文件夾中。
-
然后啟動CloudCompare,就可以看到該項目順利通過編譯了!如下圖:
CloudCompare界面 同樣,我們此時也可以順利啟動ccViewer。
OK,到這里我們就順利完成了CloudCompare的源碼編譯,下一篇博文我們來了解一下如何設計一個新的plugin來拓展CloudCompare。