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

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

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


官方給的編譯和安裝教程中都用到了 OSGeo4W 。但因爲在OSGeo4W下載各個所需庫很是慢,筆者將所需的各個庫都在CMake下編譯。博客中也是這麼作的。markdown

編譯前的準備:下載庫

編譯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庫,這三個庫之間分別在各自的基礎上做爲其它庫支撐。所以這三個庫都需要編譯並配置。post

編譯GDAL庫

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


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


在cmd窗體中鍵入:cd /d D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64 鍵入: vcvars64.bat
這裏寫圖片描寫敘述
三、編譯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編譯器,系統位數和安裝位置。spa


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

編譯TIFF庫

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

注意設置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的相關路徑爲例如如下:
這裏寫圖片描寫敘述

相關文章
相關標籤/搜索