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

一般而言为了区分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. KVM-克隆

    kvm虚拟机的克隆分为两种情况,本文也就通过以下两种情况进行克隆,克隆虚拟机为Centos 6.4X64. (1) KVM主机本机虚拟机直接克隆. (2) 通过复制配置文件与磁盘文件的虚拟机复制克隆( ...

  2. middle school

    One of the most difficult transitions faced by parents and youth is that of going from elementary to ...

  3. BZOJ3832 Rally

    传送门(权限) 题目大意 给定一个有向无环图,可以删去一个点和所有与它相连的边,使得图的其余部分最长路径最小,求这个位置和最小的最长路径长度. 题解 对于每一条边$u\rightarrow v$,设$ ...

  4. bzoj 4299 Codechef FRBSUM

    定义一个集合的神秘数为不能表示成这个集合的某个子集和的最小正整数,给一个数列,多次求区间神秘数 $n \leq 100000$ sol: 考虑这个神秘数的性质,可以发现,如果神秘数是 $x$,那么 $ ...

  5. POJ2985 The k-th Largest Group (并查集+treap)

    Newman likes playing with cats. He possesses lots of cats in his home. Because the number of cats is ...

  6. .NET MVC 异步提交和返回参数

    一.后台页面中的接收方法和返回写法 Jsonresult意味着返回值是json格式,也可以是string或者int等其他类型. Httppost代表只接受Post方法. Mvc中返回Jsonresul ...

  7. SqlServer 用户和权限操作

    use [master] GO --创建用户,Test,密码Test CREATE LOGIN [TestUser] WITH PASSWORD=N'Test', DEFAULT_DATABASE=[ ...

  8. 得到properties配置文件内容

    代码: 1.配置文件内容 2.文件所在项目中位置: 3.java代码: 01.得到键值对: @Test public void getProp() { Properties prop = new Pr ...

  9. Day3-Python基础3---函数递归和函数式方程

    一.函数的递归 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 递归特性: 1. 必须有一个明确的结束条件 2. 每次进入更深一层递归时,问题规模相比上次递归都应 ...

  10. HTTP请求常见错误大全

    常见的Http请求错误提示 1xx - 信息提示这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应.100 - 继续101 - 切换协议 2xx - 成功这类状态 ...