pcl1.8.0+QT5.7.0+vs2013 win7 x64环境配置以及第一个小程序实现

来源:互联网 发布:淘宝联盟互刷 编辑:程序博客网 时间:2024/04/16 13:28

几经波折终于配置成功,现在总结下网络上的较简洁的方法分享给大家(第一次写博,谢大家支持)

主要参考博客:

http://blog.csdn.net/u012750702/article/details/53046210 

http://blog.csdn.net/wokaowokaowokao12345/article/details/51314439

感谢作者~


前言

如果你也选择和我一样版本的pcl以及vs,则无需用到cmake(文中会提供下载链接)

同时建议你也和我一样的安装路径,方便很多~


step1  下载文件

1.pcl1.8.0  其中exe和pdb以及属性表都需下载 点击打开链接

2.QT5.7.0 官网下载即可

3.QVTKWidgetPlugin点击打开链接

4.qt-vs-addin-1.2.5点击打开链接


step2  安装QT

QT:D:\Qt\

Qt5VSAddin:D:\Qt5VSAddin\

打开vs会发现工具栏多了QT5,选择QT5->qt options->add,path选择安装路径D:\Qt\Qt5.7.0\5.7\msvc2013_64




将下载好的QVTKWidgetPlugin和QVTKWidgetPlugin.dll拷贝在D:\Qt\Qt5.7.0\5.7\msvc2013_64\plugins\designer下

ps:十分有必要提到的一点是,这是在很久前我就用cmake生成的,vtk7.0版本,拷贝过来是可以用的



step3  vs新建工程




双击pclvisualizer.ui文件,左侧多出QVTKWidget,简直amazing。就可以拖进来用啦


step4  pcl安装及配置

PCL:安装的时候注意选上“Add PCL to the system PATH for all users”,这样安装程序会自动在系统环境变量中添加"PCL_ROOT"项,如图


我的安装路径是D:\PCL 1.8.0\

在安装过程中会弹出openni2的安装路径,可以随意选取,但建议安装在D:\PCL 1.8.0\3rdParty\OpenNI2,下图在环境变量中自动生成



path中添加

;%PCL_ROOT%\bin

;%PCL_ROOT%\3rdParty\Qhull\bin

;%PCL_ROOT%\3rdParty\FLANN\bin

;%PCL_ROOT%\3rdParty\VTK\bin

;%PCL_ROOT%\3rdParty\OpenNI2\Tools


下载好的PCL-1.8.0-AllInOne-msvc2013-win64-pdb,pdb文件拷贝到PCL ROOT下的bin文件夹中,下图是拷贝后的样子



下载好的属性表我为了方便放在D:\PCL 1.8.0\中



依然是刚才的新建的项目

     注意vs2013中Configuration Manager(配置管理器)默认Active solution plantform(活动平台)是Win32,如果安装的是x64的PCL需要将其改成x64,否则编译的时候会出现奇怪的问题。

Solution Explorer(解决方案管理器)中右键项目->Properties(属性)-> Configuration Properties(配置管理器)->C/C++->Preprocessor(预处理器)->Preprocessor Definitions(预处理定义) 中添加如下两项:

_SCL_SECURE_NO_WARNINGS 

_CRT_SECURE_NO_WARNINGS



Property Manager(属性管理器)中


右键每个以Debug或Release开头的文件夹,Add Existing Property Sheet,选择下载下来的属性表文件(PCLDebug.props或PCLRelease.props),debug就选debug,release就选release

就这样啦


示例小程序(其实是GitHub的啦)

源代码点击打开链接

当然你可以选择cmake编译,但我的方法是创建一个Qt工程,将下面几个文件替换。注意检查一下cpp和h中头文件的引用


注意是release


跑出来的结果



问题

1.虽然不影响结果,但提示很多错。我目前还不清楚原因,难道和cmake编译有关?



2.no override found for ‘vtkRenderWindow’错误解决方法

解决方法:在第一次使用vtk的头文件最前添加下面代码。

#include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRenderingOpenGL2);VTK_MODULE_INIT(vtkInteractionStyle);




1 0
原创粉丝点击