libLAS1.8.0 編譯和配置(VS2013+Win7 64)(一)


libLAS 是一個用來讀寫三維激光雷達數據(LiDAR) 的 C++ 庫。在學習、科研和研發中都會廣泛運用。怎樣編譯和配置自己所須要版本號的libLAS庫確是一件麻煩耗時的事情。

筆者在Win7 64位系統、CMake3.0.2和VS2013編譯libLAS庫,在編譯過程中走了一些彎路和遇到了不好問題,終於一一解決。現以博客的形式記錄下來。供相關研究的同仁學習交流。


官方給的編譯和安裝教程中都用到了 OSGeo4W 。但由於在OSGeo4W下載各個所需庫非常慢,筆者將所需的各個庫都在CMake下編譯。博客中也是這么做的。

編譯前的准備:下載庫

編譯libLAS庫還須要Boost、GDAL、TIFF和GeoTIFF四個庫的支持,所以在編譯libLAS前須要將所需的各個庫進行下載和編譯。


由於筆者電腦中已經配置了PCL庫,當中包括Boost庫,故在此就不單獨配置Boost。
libLAS庫下載:http://www.liblas.org/download.html
GDAL庫下載:http://trac.osgeo.org/gdal/wiki/DownloadSource
LibTiff庫下載:http://dl.maptools.org/dl/libtiff/
Libgeotiff 庫下載:ftp://ftp.remotesensing.org/pub/geotiff/libgeotiff/libgeotiff125.zip
網上有說編譯libLAS庫不須要GDAL、LibTIFF和Liggeotiff庫的,在實際用Cmake編譯時。提示須要GDAL、LibTIFF和Libgeotiff庫,這三個庫之間分別在各自的基礎上作為其它庫支撐。因此這三個庫都須要編譯並配置。

編譯GDAL庫

http://trac.osgeo.org/gdal/wiki/BuildingOnWindows
1、將文件夾(筆者文件夾E:\CPlusPlusLib)中GDAL庫解壓到(E:\CPlusPlusLib\gdal-1.11.0)。


這里寫圖片描寫敘述
2、打開cmd設置VS2013 64位編譯環境工具。


在cmd窗體中鍵入:cd /d D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64 鍵入: vcvars64.bat
這里寫圖片描寫敘述
3、編譯GDAL
在cmd窗體中鍵入:cd /d E:\CPlusPlusLib\gdal-1.11.0 鍵入:nmake /f makefile.vc
幾分鍾過后出現編譯錯誤!這是由於默認nmake.opt文件里編譯器版本號和系統位數設置未進行改動。
這里寫圖片描寫敘述
打開文件夾E:\CPlusPlusLib\gdal-1.11.0下的namke.opt進行例如以下三個位置的改動。分別作用是配置vs2013編譯器,系統位數和安裝位置。


這里寫圖片描寫敘述
這里寫圖片描寫敘述
這里寫圖片描寫敘述
編譯成功
這里寫圖片描寫敘述
分別運行:nmake /f makefile.vc install 和nmake /f makefile.vc devinstall
等待兩分鍾后。GDAL就編譯完畢了,在文件夾E:\CPlusPlusLib\gdal110中有bin,data,html,lib,include幾個文件夾。
這里寫圖片描寫敘述

編譯TIFF庫

在cmd中分別鍵入:cd /d E:\CPlusPlusLib\tiff-3.8.2 nmake /f makefile.vc
這部分中方法和上部分有類似的地方,就簡單描寫敘述了。

注意設置VS2013 64位編譯環境工具vcvars64.bat。
編譯結束會出現例如以下錯誤:
這里寫圖片描寫敘述
如今打開文件夾:E:\CPlusPlusLib\tiff-3.8.2\libtiff中tiffconf.h.vc進行改動,把當中的 /* #undef JPEG_SUPPORT /,/ #undef OJPEG_SUPPORT*/ 中的凝視去掉。再刪掉 E:\CPlusPlusLib\tiff-3.8.2\libtiff下的全部 .obj 文件。

然后再編譯。這樣就能夠編譯成功。
這里寫圖片描寫敘述
編譯成功:
這里寫圖片描寫敘述

編譯 Libgeotiff

在E:\CPlusPlusLib下創建一個文件夾libgeotiff,把Libgeotiff解壓到E:\CPlusPlusLib\libgeotiff\下。同一時候在E:\CPlusPlusLib\libgeotiff\創建一個libtiff(文件夾名一定要為libtiff),再到E:\CPlusPlusLib\tiff-3.8.2\把編譯好的libtiff文件夾復制到E:\CPlusPlusLib\libgeotiff\libtiff\下。文件夾結構例如以下:
這里寫圖片描寫敘述
這里寫圖片描寫敘述
在cmd中分別鍵入:
cd /d E:\CPlusPlusLib\libgeotiff-1.2.5
nmake /f makefile.vc
nmake /f makefile.vc install
nmake /f makefile.vc devinstall
完畢之后,在C:\就會生成usr文件夾,里面的文件就是
這里寫圖片描寫敘述
usr文件能夠復制到其它文件夾進行使用。筆者將其放在文件夾:
E:\CPlusPlusLib,並重命名為:libgeotiff125待使用。

編譯libLAS庫

編譯libLAS庫須要使用到CMake和VS2013。將libLAS-1.8.0.tar.bz2直接進行解壓。


打開CMake設置例如以下,箭頭處路徑要一致,不然到時候VS編譯時會出錯!


這里寫圖片描寫敘述
勾選WITH_GDAL和WITH_GEOTIFF,不然構建出錯!


這里寫圖片描寫敘述
加入GDAL 、TIFF和GeoTIFF的include和lib文件:
這里寫圖片描寫敘述
設置安裝libLAS路徑,默認C盤,假設不改后面會出現故障!
這里寫圖片描寫敘述
這里寫圖片描寫敘述

用VS2013打開E:\CPlusPlusLib\libLAS-1.8.0\libLAS.sln。


分別ALL_BUILD 和INSTALL!
這里寫圖片描寫敘述
編譯成功!


這里寫圖片描寫敘述
這里寫圖片描寫敘述
成功安裝。
這里寫圖片描寫敘述
下篇博客將會介紹怎樣在VS2013中配置libLAS庫,並附上測試程序。

注意事項:用vs2010和vs2013編譯方法是一樣的,設置中稍微有所不同,博文中已有體現。編譯過程中出現錯誤也基本一致,以下將可能出現的錯誤進行說明。


安裝失敗!


這里寫圖片描寫敘述
解決方法:
前期CMake中安裝路徑未改動!

改動后從新編譯libLAS庫就能夠。


CMakeGUI中改動或者打開cmake_install.cmake改動安裝路徑。

# Set the install prefix if(NOT DEFINED CMAKE_INSTALL_PREFIX) set(CMAKE_INSTALL_PREFIX "F:/libLAS")

這里寫圖片描寫敘述

**********回答留言朋友的問題2016/05/21!*****************
在CMakeGUI中依據自己的Boost庫位置。設置Boost的相關路徑為例如以下:
這里寫圖片描寫敘述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM