编译和安装过程最好使用管理员权限去操作,避免不必要的错误。

一般而言为了区分Debug和Release库,添加输入变量

Name: CMAKE_DEBUG_POSTFIX 
Type: STRING 
Value: -gd

QHuall和FLANN没有出现异常

Boost1.59.0

1.在下载目录先运行

bootstrap.bat

2.创建debug和release版本的动态和静态库

bjam.exe variant=debug,release link=shared,static threading=multi,single 

VTK8.0.1

1. VTK8.0.1 安装,此处添加了QT5的支持,configure之后

2. 在Search中输入Qt,找到VTK_Group_Qt,勾选,继续Configure

3.中途会出现错误,这是由于Qt版本较高并且Cmake找不到qmake.exe文件导致的(VTK-8.0.1默认查找Qt4的qmake.exe), 解决方式:在VTK_QT_VERSION中选择5版本并在QT_QMAKE_EXECUTABLE中选择qmake.exe所在目录,并选中它,然后Configure,如果qt5的环境变量设置好的话,QT的相关路径cmake可以自动查找到,否则则需要自己添加(每个人出现的问题可能不同,一般都是QT5_DIR, Qt5Core_DIR、Qt5Gui_DIR等目录找不到,但解决方法是一样的,在D:\Apps\Qt\Qt5.6.3-X86\5.6.3\msvc2013\lib\cmake中选中相应文件夹即可)。

4. 之后就是利用Visual Studio 2013进行编译安装了

编译错误 error MSB6006:”cmd.exe” exited with code 1 解决方法

该报错是因为CMake中勾选了BUILD_TESTING选项,而CMake的VTK_DATA_ROOT先设置不正确,导致编译时需要先下载vtkdata数据。由于网速或者没有科学上网等原因下载数据的时间 超过了设置的最大等待时间。https://www.vtk.org/download/到此网站下载对应版本的VTKData.zip/VTKData.tar.gz文件,将其解压文件中MD5文件覆盖二进制目录下\ExternalData\Objects\MD5文件。进行步骤4即可。

Cmake编译支持QT的VTK,生成vtkGUISupportQt-6.1.dll和QVTKWidgetPlugin.dll两个文件放在$(QTDIR)\plugins\designer下即可在Qt Designer下面看到VTKWidgets插件

Eigen

eigen都是头文件,不需要编译,编译PCL时申明它的位置就可以。

OPENNI未安装

ZLIB和LIPNG

首先编译安装ZLIB,环境变两种配置ZLIB_ROOT和在PATH加入ZLIB的bin目录,之后再去编译LIBPNG.

PCL

VS编译PCL1.8,出现如下错误:

error C2039: “Literal”: 不是“Eigen::NumTraits<pcl::ndt2d::NormalDist<PointT>>”的成员        d:\pcl\3rdpartysrccode\eigen\include\eigen3\eigen\src\Core\util\XprHelper.h        error C2065: “Literal”: 未声明的标识符        d:\pcl\3rdpartysrccode\eigen\include\eigen3\eigen\src\Core\util\XprHelper.h        error C2146: 语法错误: 缺少“,”(在标识符“Literal”的前面)        d:\pcl\3rdpartysrccode\eigen\include\eigen3\eigen\src\Core\util\XprHelper.h        error C2664: “Eigen::aligned_allocator<U>::aligned_allocator(const Eigen::aligned_allocator<U> &)”: 无法将参数  从“std::allocator<T>”转换为“const Eigen::aligned_allocator<U> &”        D:\PCL\3rdPartySrcCode\boost\boost\unordered\detail\allocate.hpp        error C2664: “Eigen::aligned_allocator<U>::aligned_allocator(const Eigen::aligned_allocator<U> &)”: 无法将参数  从“std::allocator<T>”转换为“const Eigen::aligned_allocator<U> &”        D:\PCL\3rdPartySrcCode\boost\boost\unordered\detail\allocate.hpp        error C2664: “Eigen::aligned_allocator<U>::aligned_allocator(const Eigen::aligned_allocator<U> &)”: 无法将参数  从“std::allocator<T>”转换为“const Eigen::aligned_allocator<U> &”        D:\PCL\3rdPartySrcCode\boost\boost\unordered\detail\allocate.hpp        error C2975: “ConvertibleToLiteral”:“Eigen::internal::promote_scalar_arg_unsupported”的模板参数无效,应为编译时常量表达式        d:\pcl\3rdpartysrccode\eigen\include\eigen3\eigen\src\Core\util\XprHelper.h        error LNK1181: 无法打开输入文件“..\lib\pcl_surface_release.lib”        D:\PCL\PCLSrcCode\PCL\build\tools\LINK
error LNK1181: 无法打开输入文件“..\lib\pcl_surface_release.lib” D:\PCL\PCLSrcCode\PCL\build\tools\LINK
error LNK1181: 无法打开输入文件“..\lib\pcl_surface_release.lib” D:\PCL\PCLSrcCode\PCL\build\tools\LINK
error LNK1181: 无法打开输入文件“..\lib\pcl_surface_release.lib” D:\PCL\PCLSrcCode\PCL\build\tools\LINK
error LNK1181: 无法打开输入文件“..\lib\pcl_surface_release.lib” D:\PCL\PCLSrcCode\PCL\build\tools\LINK
error LNK1181: 无法打开输入文件“..\lib\pcl_surface_release.lib” D:\PCL\PCLSrcCode\PCL\build\tools\LINK

因为Eigen版本的问题。因为PCL还没有支持Eigen3.2.8以上版本的原因。所以,我将3.3.4版本的Eigen换成了3.2.8

Win10 VS2013 PCL1.8.1和依赖项VTK8.0.1, QHuall(2.15.2), FLANN1.9.1,Boost1.59.0,Zbil1.2.11和libPNG1.6.34编译安装的更多相关文章

  1. win10+vs2013+pcl1.8.0(x86) 环境配置遇到的各种小问题解决

    1.PCL提供了各自的PDB调试文件(解压后放入pcl安装目录的bin下) 2.OpenNI的安装需同其余在pcl第三方库文件夹下 3.添加附加依赖项的.lib文件请按照网上对应版本添加,另外需要每行 ...

  2. 创建 userSettings/Microsoft.SqlServer.Configuration.LandingPage.Properties.Settings 的配置节处理程序时出错: 未能加载文件或程序集“System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”或它的某一个依赖项。系统没找到指定的文件

    创建 userSettings/Microsoft.SqlServer.Configuration.LandingPage.Properties.Settings 的配置节处理程序时出错: 未能加载文 ...

  3. Gradle依赖项学习总结,dependencies、transitive、force、exclude的使用与依赖冲突解决

    http://www.paincker.com/gradle-dependencies https://docs.gradle.org/current/userguide/dependency_man ...

  4. VS2013 删除"附加依赖项"中“继承的值”

    经过好几次尝试,都无法在VS2013中直接删除“继承的值”,于是另辟蹊径,找到了一种解决方法. 相对而言,在 VS2010 中干这件事会容易一点,或者说,成功率更高一点,于是,我的思路就是再装一个 V ...

  5. vs2013中项目依赖项的作用

    依赖项就是设定项目所以来的项目,以决定具体生成解决方案时,项目编译的顺序(一般一个解决方案会有很多项目组成). 通常来说,依赖项取决于这个项目引用的组件和项目,系统可以自己决定. 作用就是让系统知道你 ...

  6. VC2013 代码图,依赖项关系图,等出错解决办法.

    环境WIN10+VS2013+SQL2015 当VS2013代码图,依赖项关系图等出现 数据库连接错误时 去http://www.microsoft.com/zh-cn/download/detail ...

  7. “HtmlAgilityPack”已拥有为“System.Net.Http”定义的依赖项的解决方案

    #事故现场 在vs2013上用nuget安装 HtmlAgilityPack -Version 1.8.9时,报错如下: Install-Package : “HtmlAgilityPack”已拥有为 ...

  8. WIN10+ VS2013 配置Opencv2413 64位

    VS2013 配置Opencv2413  64位 系统变量 Path:  F:\2biancheng_tool\Opencv2413\opencv\build\x64\vc12\bin 用户变量:添加 ...

  9. Install-Package:QRCoder已拥有为System.Drawing.Common定义的依赖项

    error_log PM> Install-Package QRCoder -Version 1.3.3 Install-Package : "QRCoder"已拥有为&qu ...

随机推荐

  1. 项目管理理论与实践(6)——利用Excel制作项目文档的设计技巧

    这篇是使用的Excel 2007 进行文档设计,Excel的设计也是一门学问,这里主要介绍一些Excel的设计技巧,后面也会陆续更新该文章. 1. 固定某行某列 首先设计这样的任务管理文档: 现在我想 ...

  2. 制作导航菜单分隔线的总结:用css3

    经过百度统计中国中使用谷歌浏览器比较多,我很奇怪,我身边的同事很少用谷歌,唯一我用谷歌的原因就是看上它调试能力和模拟手机. 下面是我个人制作的 预览用谷歌浏览器. <!doctype html& ...

  3. Java_脚本引擎_03_nashorn支持es6

    一.前言 jdk1.8的nashorn 支持部分es6语法. 二.支持es6 jdk默认是关闭了对es6的支持的,想要开启对es6的支持,需要设置一下jvm参数: -Dnashorn.args=--l ...

  4. 剑指offer--11.数组中出现次数超过一半的数字

    unique(), count()函数好用 ---------------------------------------------------------------------- 时间限制:1秒 ...

  5. MySQL主从复制的常用拓扑结构

    1.复制的常用拓扑结构 复制的体系结构有以下一些基本原则: (1)    每个slave只能有一个master: (2)    每个slave只能有一个唯一的服务器ID: (3)    每个maste ...

  6. NOIP模拟题 栅栏

    题目大意 给定一个$n\times m$的网格图,每次会选择一块矩形沿着网格线铺上栅栏,或者拆除之前铺的栅栏,或者询问两个格子能否不经过栅栏直接到达. 保证栅栏没有重叠或交叉,删去的栅栏删除前一定存在 ...

  7. 什么是 PCB 的压适孔

    引用 AMOBBS 1 再举一个高成本控制的例子:有类PCB产品对孔径要求极度严格,这类孔叫压适孔,这类孔的作用类似于显卡内存条的插座,能刚刚好被元件插上,而且元件不会掉,PTH的压适孔公差要求为-0 ...

  8. ubuntu lts install licode tag pre-v5.4

    1. Requirements Ubuntu 14.04 LTS 2. Clone Licode codeYou first need to clone our code from github.Yo ...

  9. Angular5学习笔记 - 虚拟RestfulApi配置与使用(六)

    一.安装json-server功能 #windows cnpm install json-server -g #Mac & Linux sudo npm install json-server ...

  10. java代码异常,水位异常的捕获

    总: 异常的产生!!!!异常如何实现,继承~~~ package com.b; //我不懂为什么这里的异常一定要来自于父类.子类.去继承它.因为Exception是Throwable类的子类异常类.而 ...