兩年前通過源碼編譯了CloudCompare,並用於一個科研型項目,整體感覺CC挺不錯,數據加載能力更是剛剛的。最近想研究CC的內部代碼結構,學習之,考慮前期版本代碼有點老舊,從github中過去最新的源碼進行編譯,發現與兩年前的代碼有些區別,因此羅列記錄下來。編譯的源碼要求支持las文件讀取,編譯目標64位CC,廢話不多說,開始操作。
1.環境准備
1.1. CC所需的支持庫有很多,大部分可以通過osgeo4w工具下載部署到本地,通過https://trac.osgeo.org/osgeo4w/下載osgeo4w工具,安裝后打開,
選擇Advanced Install,下一頁,
Root Directory選擇庫安裝路徑,
在Libs中選擇需要的庫。需要的庫如下:
還需選擇laszip庫,也可根據需要下載更多的庫,以備后用。點擊下一頁直到安裝完成。
1.2. boost庫下載安裝,此處推薦按照https://blog.csdn.net/misterfm/article/details/79048594進行編譯即可。
1.3.Laslib庫安裝,這里這個庫與liblas庫完全不同,千萬不要弄錯了,我就在這走了彎路。從https://github.com/LAStools/LAStools/tree/master/LASlib下載源碼后,解壓到某目錄,使用CMake生成VS工程。
在CMake中設置安裝庫路徑后,generateVS工程,並打開。
先ALL_BUILD編譯完成后,再選擇INSTALL工程編譯,即將庫安裝到指定目錄。
1.4.PDAL庫安裝。從https://anaconda.org/conda-forge/pdal下載windows庫。
選擇File選項卡,找出Windows庫下載。解壓安放到指定庫目錄下。
1.5.QT庫安裝。參考:https://blog.csdn.net/knaha/article/details/104122258
2.CC源碼下載及CMake配置。
2.1.下載源碼。從https://github.com/CloudCompare/CloudCompare下載最新源碼,解壓到指定目錄。新版代碼中插入了另外一個源碼庫CCCORELIB,從https://github.com/CloudCompare/CCCoreLib/tree/f0ab0a27e28964bb7ee0af7b1cd8f83a6decf172下載后,解壓到如下圖所示目錄中:
2.2.CMake配置
打開CMake工具,指定CC源碼路徑及Build生成目錄。Configure,CC的配置項列出。
再補充相應的三方庫后,即可generate,生成CC的VS工程。
3.編譯CC
在VS中打開CC工程,編譯64位程序后,將生成的dll復制進入CloudCompare.exe同目錄下,並在目錄下新建一個plugins,復制工程中生成的*_PLUGIN*.dll到這個plugins文件夾中。運行CloudCompare.exe,打開文件,即看到支持las文件類型。
至此完成。
知識從互聯網來,經驗分享給互聯網。