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的相关路径为例如以下:

libLAS1.8.0 编译和配置(VS2013+Win7 64)(一)的更多相关文章

  1. Berkeley DB (VC6.0 编译环境配置)

    操作系统:winxp VC环境:VC6.0 必需文件:Berkeley DB安装文件(db-.msi) 下载地址:http://www.oracle.com/technology/software/p ...

  2. OpenGL+VS2013+WIN7(64)组态

    1.下载windows在下面glut安装文件:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip 2. 拆开发现五个文件 ...

  3. Java开发环境配置(Win7 64位系统/server 2008)

    下面以jdk1.8.0_05版本为例: 1.在用户变量里新增变量名:JAVA_HOME 变量值:D:\Java\jdk1.8.0_05 (根据实例路径变换) 2.在用户变量里新增变量名:CLASSPA ...

  4. win7 64 旗舰版虚拟GPU-VMware下+vs2013安装caffe+matlab+python

    转发请说明来处 Win7配置caffe(无GPU) 配置环境: 必须:win7 64 + vs2013 Win7 64位旗舰版要升级到service spack(因为是在vs2013下,想安装vs20 ...

  5. Win7 下用 VS2015 编译最新 openssl(1.0.2j)包含32、64位debug和release版本的dll、lib(8个版本)

    Win7 64位系统下通过VS2015编译好的最新的OpenSSL(1.0.2j)所有八个版本的链接库, 包含以下八个版本: 1.32位.debug版LIB: 2.32位.release版LIB: 3 ...

  6. boost_1.63.0编译VS2013

    编译 boost 库的步骤: 从官网下载最新版本的 boost 库(目前最新版本为:boost_1_63_0):下载地址:http://www.boost.org/users/download/ 解压 ...

  7. OpenCV3.1.0+VS2013配置+Win10(64位)(转载)

    OpenCV3.1.0+VS2013配置+Win10(64位) [环境]VS2013和MATLAB相互调用混合编程 Matlab 2016a和VS2013混合Dll编程步骤 更换了硬盘之后,重新配置了 ...

  8. Win7 64位 VS2013环境编译CGAL-4.7

    看到有人在QQ空间感叹编译CGAL配置折腾了一天时间,自己也想试试,虽然并不打算用,但感觉这库也挺有名的,想必日后用得着,于是着手试着编译. 首先是看一下官网的windows下配置说明 http:// ...

  9. Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could not write bytes: Broken pipe.”而无法进入输入帐号密码的登陆界面

    Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could not write bytes: Broken pipe.”而无法进入输入帐号密码的登陆界面.上网问了问百 ...

随机推荐

  1. wikioi 1396 伸展树(两个模板)

    题目描写叙述 Description Tiger近期被公司升任为营业部经理.他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger拿出了公司的账本,账本上记录了公司成立以来 ...

  2. 深度理解Jquery 中 scrollTop() 方法

    这是工作遇到scrollTop() 方法.为了强化自己,把它记录在博客园当中. 下面就开始scrollTop 用法讲解: scrollTop() 定义和用法 scrollTop() 方法设置或返回被选 ...

  3. 1. Two Sum[E]两数之和

    题目 Given an array of integers, return indices of the two numbers such that they add up to a specific ...

  4. ubuntu下安装VMware

    1 用apt-get命令更新系统 loginname@localhost:~$ sudo apt-get update 2 从官方网站下载Workstation11(Bundle Script) lo ...

  5. SVN——Jenkins自动发布

    最近公司项目处于开发阶段,很多功能开发完后就需要发布到测试环境等待测试去验收,这个时候如果手动更新网站的话,是很费时费力的. 于是乎,我们做成了自动发布,这样我们只管提交代码到SVN就行了,发布由软件 ...

  6. js 数据类型判断

    判断type类型 isString (o) { //是否字符串 return Object.prototype.toString.call(o).slice(8, -1) === 'String' } ...

  7. javascript动画函数封装(升级版)

    //把 任意对象 的 任意数值属性 改变为 任意的目标值 function animate(obj, json, fn) { clearInterval(obj.timer); obj.timer = ...

  8. 谈谈javascript中原型继承

    什么是继承?拿来主义:自己没有,别人有,把别人的拿过来使用或者让其成为自己的 如何实现继承的方式 原型继承 混入继承 经典继承 1. 混入继承 由于一个对象可以继承自任意的对象,即:o可以继承自对象o ...

  9. app专项测试

    本节为大家讲述app的专项测试——客户端性能测试.这个我也做了蛮久的了.在这里修改了一下本篇随笔. 首先我们了解一下什么是客户端的性能测试.性能测试相比大家都已经耳熟能详了,这个app的客户端性能测试 ...

  10. GridBagLayout使用案例+获取目录下所有的文件+获取创建时间及最后修改时间

    package vvv; import java.awt.Dimension;import java.awt.GridBagConstraints;import java.awt.GridBagLay ...