很多使用在windows环境下编译和使用PCL,这样让我想试试,所以就迫不得已的放弃使用Ubuntu环境,但是我还是建议使用Ubuntu系统,毕竟在Ubuntu下几条命令就搞定了,为了迎合在window使用PCL开发kinect,今天就试着在vS下配置和使用PCL,习惯了一边安装一边记录,首先安装VS2017,直接就是百度的界面提示所安装的VS2017
(1)下载PCL-1.8.1-AllInOne-msvc2017-win32.exe pcl-1.8.1-pdb-msvc2017-win32.zip 网址在: https://github.com/PointCloudLibrary/pcl/releases
下载适当的版本,这里有32位和64位的,是要看你的VS2013的编译器是几位的,并不是操作系统,我的操作系统是32位,我的VS2017的编译器是32位,所以我选择32位的版本。
双击PCL-1.8.1-AllInOne-msvc2017-win32.exe 直接点击下一步,到如下界面选择添加路径
之后下一步你可以自己选择,安装路径,由于C盘比较多所以我选择安装在D盘之中,之后就是别动一直点击下一步即可
我是将C盘改为D盘下了(忘了截图)接下来你可以卡到安装的三方库都在
之后会等待一段时间安装,接下来安装第三方的库函数的时候记住要在自己选定的安装路径下安装 比如我是安装在D盘下,所以当提示安装openni的时候我们需要给
opneni更改到自己选定的安装PCL的第三方库安装的路径下 如图:过程中可能会提示其他的库安装 你都可以选择安装
那么之后就会完成所有的安装
拷贝与你安装PCL版本对应的PDB压缩包解压后的PDB文件,到你PCL安装路径下的bin文件夹,就是里面有pcl开头的dll的那个文件夹
(此时一种草泥马在崩腾一转眼没保存 很多东西都没有 好垃圾啊)
此时我们可以查看PCL的路径已经添加到我的电脑的环境变量中
以上是关于PCL的路径在安装的过程中就已经设置好了,之前安装的第三方的依赖项的路径还么有添加进去路径所以需要
环境变量配置:
%PCL_ROOT%\bin;%PCL_ROOT%\3rdParty\FLANN\bin;%PCL_ROOT%\3rdParty\VTK\bin;%PCL_ROOT%\Qhull\bin;%PCL_ROOT%\3rdParty\OpenNI2\Tools添加到系统变量Path下。
一般路径设置完需要对电脑重启使得路径生效。
现在PCL已经安装好了,我们可以开始配置VS2017开发环境,新建一个空项目
右击项目“属性”设置包含目录
选择VC++目录,选择包含目录添加包含的文件
设置库目录
以上就是设置完全的PCL以及第三方库的所有的步骤,但是在windows使用PCL并不是那么简单,太多太多的初学者由于关注了微信公众号都会问关于在
windows下遇到的各种问题,但是我想说,很多错误都是万变不离其中,那就是环境变量的配置问题,所以当其中遇到的问题我们就要到工程文件下的属性在寻找是不是我们什么配置错误下图的属性文件
一下是罗列的关于在我遇到的一些问题总结
(1) 在Visual Studio2017使用Boost库的时候,出现如下错误:
error C4996: 'std::copy::_Unchecked_iterators::_Deprecate': Call to 'std::copy' with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'
-
解决办法
在工程属性—>C/C++—>命令行—>其他选项 中添加:-D_SCL_SECURE_NO_WARNINGS
以上,错误解除
例如要获取目录中D:\PCL 1.8.1\3rdParty\VTK\lib下的所有静态链接库文件名并存储至文本.txt,方法如下:
1、win+r
2、输入:cmd回车
3、输入:cd /d D:\PCL 1.8.1\3rdParty\VTK\lib 回车
4、输入:dir /b *.lib *>0.txt 回车
(3)如果编译通过,但是在可视化后出现一下的提示错误,是说明了VTK的初始化错误,也就是VTK的组件出错了
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL);
VTK_MODULE_INIT(vtkInteractionStyle);
问题即可解决,那么对于出现的调试的信息比如关于说找不到很多的PDB文件的,不影响结果,
#include <pcl/visualization/cloud_viewer.h> #include <iostream> #include <pcl/io/io.h> #include <pcl/io/pcd_io.h> #include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRenderingOpenGL); VTK_MODULE_INIT(vtkInteractionStyle); int user_data; void viewerOneOff(pcl::visualization::PCLVisualizer& viewer) { viewer.setBackgroundColor(1.0, 0.5, 1.0); pcl::PointXYZ o; o.x = 1.0; o.y = 0; o.z = 0; viewer.addSphere(o, 0.25, "sphere", 0); std::cout << "i only run once" << std::endl; } void viewerPsycho(pcl::visualization::PCLVisualizer& viewer) { static unsigned count = 0; std::stringstream ss; ss << "Once per viewer loop: " << count++; viewer.removeShape("text", 0); viewer.addText(ss.str(), 200, 300, "text", 0); //FIXME: possible race condition here: user_data++; } int main() { pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGBA>); pcl::io::loadPCDFile("bunny.pcd", *cloud); pcl::visualization::CloudViewer viewer("Cloud Viewer"); //blocks until the cloud is actually rendered viewer.showCloud(cloud); //use the following functions to get access to the underlying more advanced/powerful //PCLVisualizer //This will only get called once viewer.runOnVisualizationThreadOnce(viewerOneOff); //This will get called once per visualization iteration viewer.runOnVisualizationThread(viewerPsycho); while (!viewer.wasStopped()) { //you can also do cool processing here //FIXME: Note that this is running in a separate thread from viewerPsycho //and you should guard against race conditions yourself... user_data++; } return 0; }
实验结果的可视化如下
对于如果没有PCD文件的同学,可以自己新建一个.txt格式的文档将如下的数据复制到文件中,最后将文件的后缀改为.pcd文件,并将.pcd放在我们新建的工程文件在,这样的我们的可执行的文件才能找到该文件,并读取可显示,这个数据是bunny.pcd文件的数据
# .PCD v.5 - Point Cloud Data file format VERSION .5 FIELDS x y z SIZE 4 4 4 TYPE F F F COUNT 1 1 1 WIDTH 397 HEIGHT 1 POINTS 397 DATA ascii 0.0054216 0.11349 0.040749 -0.0017447 0.11425 0.041273 -0.010661 0.11338 0.040916 0.026422 0.11499 0.032623 0.024545 0.12284 0.024255 0.034137 0.11316 0.02507 0.02886 0.11773 0.027037 0.02675 0.12234 0.017605 0.03575 0.1123 0.019109 0.015982 0.12307 0.031279 0.0079813 0.12438 0.032798 0.018101 0.11674 0.035493 0.0086687 0.11758 0.037538 0.01808 0.12536 0.026132 0.0080861 0.12866 0.02619 0.02275 0.12146 0.029671 -0.0018689 0.12456 0.033184 -0.011168 0.12376 0.032519 -0.0020063 0.11937 0.038104 -0.01232 0.11816 0.037427 -0.0016659 0.12879 0.026782 -0.011971 0.12723 0.026219 0.016484 0.12828 0.01928 0.0070921 0.13103 0.018415 0.0014615 0.13134 0.017095 -0.013821 0.12886 0.019265 -0.01725 0.11202 0.040077 -0.074556 0.13415 0.051046 -0.065971 0.14396 0.04109 -0.071925 0.14545 0.043266 -0.06551 0.13624 0.042195 -0.071112 0.13767 0.047518 -0.079528 0.13416 0.051194 -0.080421 0.14428 0.042793 -0.082672 0.1378 0.046806 -0.08813 0.13514 0.042222 -0.066325 0.12347 0.050729 -0.072399 0.12662 0.052364 -0.066091 0.11973 0.050881 -0.072012 0.11811 0.052295 -0.062433 0.12627 0.043831 -0.068326 0.12998 0.048875 -0.063094 0.11811 0.044399 -0.071301 0.11322 0.04841 -0.080515 0.12741 0.052034 -0.078179 0.1191 0.051116 -0.085216 0.12609 0.049001 -0.089538 0.12621 0.044589 -0.082659 0.11661 0.04797 -0.089536 0.11784 0.04457 -0.0565 0.15248 0.030132 -0.055517 0.15313 0.026915 -0.03625 0.17198 0.00017688 -0.03775 0.17198 0.00022189 -0.03625 0.16935 0.00051958 -0.033176 0.15711 0.0018682 -0.051913 0.1545 0.011273 -0.041707 0.16642 0.0030522 -0.049468 0.16414 0.0041988 -0.041892 0.15669 0.0054879 -0.051224 0.15878 0.0080283 -0.062417 0.15317 0.033161 -0.07167 0.15319 0.033701 -0.062543 0.15524 0.027405 -0.07211 0.1555 0.027645 -0.078663 0.15269 0.032268 -0.081569 0.15374 0.026085 -0.08725 0.1523 0.022135 -0.05725 0.15568 0.010325 -0.057888 0.1575 0.0073225 -0.0885 0.15223 0.019215 -0.056129 0.14616 0.03085 -0.054705 0.13555 0.032127 -0.054144 0.14714 0.026275 -0.046625 0.13234 0.021909 -0.05139 0.13694 0.025787 -0.018278 0.12238 0.030773 -0.021656 0.11643 0.035209 -0.031921 0.11566 0.032851 -0.021348 0.12421 0.024562 -0.03241 0.12349 0.023293 -0.024869 0.12094 0.028745 -0.031747 0.12039 0.028229 -0.052912 0.12686 0.034968 -0.041672 0.11564 0.032998 -0.052037 0.1168 0.034582 -0.042495 0.12488 0.024082 -0.047946 0.12736 0.028108 -0.042421 0.12035 0.028633 -0.047661 0.12024 0.028871 -0.035964 0.1513 0.0005395 -0.050598 0.1474 0.013881 -0.046375 0.13293 0.018289 -0.049125 0.13856 0.016269 -0.042976 0.14915 0.0054003 -0.047965 0.14659 0.0086783 -0.022926 0.1263 0.018077 -0.031583 0.1259 0.017804 -0.041733 0.12796 0.01665 -0.061482 0.14698 0.036168 -0.071729 0.15026 0.038328 -0.060526 0.1368 0.035999 -0.082619 0.14823 0.035955 -0.087824 0.14449 0.033779 -0.089 0.13828 0.037774 -0.085662 0.15095 0.028208 -0.089601 0.14725 0.025869 -0.090681 0.13748 0.02369 -0.058722 0.12924 0.038992 -0.060075 0.11512 0.037685 -0.091812 0.12767 0.038703 -0.091727 0.11657 0.039619 -0.093164 0.12721 0.025211 -0.093938 0.12067 0.024399 -0.091583 0.14522 0.01986 -0.090929 0.13667 0.019817 -0.093094 0.11635 0.018959 0.024948 0.10286 0.041418 0.0336 0.092627 0.040463 0.02742 0.096386 0.043312 0.03392 0.086911 0.041034 0.028156 0.086837 0.045084 0.03381 0.078604 0.040854 0.028125 0.076874 0.045059 0.0145 0.093279 0.05088 0.0074817 0.09473 0.052315 0.017407 0.10535 0.043139 0.0079536 0.10633 0.042968 0.018511 0.097194 0.047253 0.0086436 0.099323 0.048079 -0.0020197 0.095698 0.053906 -0.011446 0.095169 0.053862 -0.001875 0.10691 0.043455 -0.011875 0.10688 0.043019 -0.0017622 0.10071 0.046648 -0.012498 0.10008 0.045916 0.016381 0.085894 0.051642 0.0081167 0.08691 0.055228 0.017644 0.076955 0.052372 0.008125 0.076853 0.055536 0.020575 0.088169 0.049006 0.022445 0.075721 0.049563 -0.0017931 0.086849 0.056843 -0.011943 0.086771 0.057009 -0.0019567 0.076863 0.057803 -0.011875 0.076964 0.057022 0.03325 0.067541 0.040033 0.028149 0.066829 0.042953 0.026761 0.057829 0.042588 0.023571 0.04746 0.040428 0.015832 0.067418 0.051639 0.0080431 0.066902 0.055006 0.013984 0.058886 0.050416 0.0080973 0.056888 0.05295 0.020566 0.065958 0.0483 0.018594 0.056539 0.047879 0.012875 0.052652 0.049689 -0.0017852 0.066712 0.056503 -0.011785 0.066885 0.055015 -0.001875 0.056597 0.05441 -0.01184 0.057054 0.052714 -0.015688 0.052469 0.049615 0.0066154 0.04993 0.051259 0.018088 0.046655 0.043321 0.008841 0.045437 0.046623 0.017688 0.039719 0.043084 0.008125 0.039516 0.045374 -0.0016111 0.049844 0.05172 -0.01245 0.046773 0.050903 -0.013851 0.039778 0.051036 -0.0020294 0.044874 0.047587 -0.011653 0.04686 0.048661 -0.0018611 0.039606 0.047339 -0.0091545 0.03958 0.049415 0.043661 0.094028 0.02252 0.034642 0.10473 0.031831 0.028343 0.1072 0.036339 0.036339 0.096552 0.034843 0.031733 0.099372 0.038505 0.036998 0.10668 0.026781 0.032875 0.11108 0.02959 0.040938 0.097132 0.026663 0.044153 0.086466 0.024241 0.05375 0.072221 0.020429 0.04516 0.076574 0.023594 0.038036 0.086663 0.035459 0.037861 0.076625 0.035658 0.042216 0.087237 0.028254 0.042355 0.076747 0.02858 0.043875 0.096228 0.015269 0.044375 0.096797 0.0086445 0.039545 0.1061 0.017655 0.042313 0.10009 0.017237 0.045406 0.087417 0.015604 0.055118 0.072639 0.017944 0.048722 0.07376 0.017434 0.045917 0.086298 0.0094211 0.019433 0.1096 0.039063 0.01097 0.11058 0.039648 0.046657 0.057153 0.031337 0.056079 0.066335 0.024122 0.048168 0.06701 0.026298 0.056055 0.057253 0.024902 0.051163 0.056662 0.029137 0.036914 0.067032 0.036122 0.033 0.06472 0.039903 0.038004 0.056507 0.033119 0.030629 0.054915 0.038484 0.041875 0.066383 0.028357 0.041434 0.06088 0.029632 0.044921 0.049904 0.031243 0.054635 0.050167 0.022044 0.04828 0.04737 0.025845 0.037973 0.048347 0.031456 0.028053 0.047061 0.035991 0.025595 0.040346 0.03415 0.038455 0.043509 0.028278 0.032031 0.043278 0.029253 0.036581 0.040335 0.025144 0.03019 0.039321 0.026847 0.059333 0.067891 0.017361 0.0465 0.071452 0.01971 0.059562 0.057747 0.01834 0.055636 0.049199 0.019173 0.0505 0.045064 0.019181 0.023 0.047803 0.039776 0.022389 0.03886 0.038795 -0.019545 0.0939 0.052205 -0.021462 0.10618 0.042059 -0.031027 0.10395 0.041228 -0.022521 0.097723 0.045194 -0.031858 0.097026 0.043878 -0.043262 0.10412 0.040891 -0.052154 0.10404 0.040972 -0.041875 0.096944 0.042424 -0.051919 0.096967 0.043563 -0.021489 0.086672 0.054767 -0.027 0.083087 0.050284 -0.02107 0.077249 0.054365 -0.026011 0.089634 0.048981 -0.031893 0.087035 0.044169 -0.025625 0.074892 0.047102 -0.03197 0.0769 0.042177 -0.041824 0.086954 0.043295 -0.051825 0.086844 0.044933 -0.041918 0.076728 0.042564 -0.051849 0.076877 0.042992 -0.061339 0.10393 0.041164 -0.072672 0.10976 0.044294 -0.061784 0.096825 0.043327 -0.070058 0.096203 0.041397 -0.080439 0.11091 0.044343 -0.061927 0.086724 0.04452 -0.070344 0.087352 0.041908 -0.06141 0.077489 0.042178 -0.068579 0.080144 0.041024 -0.019045 0.067732 0.052388 -0.017742 0.058909 0.050809 -0.023548 0.066382 0.045226 -0.03399 0.067795 0.040929 -0.02169 0.056549 0.045164 -0.036111 0.060706 0.040407 -0.041231 0.066951 0.041392 -0.048588 0.070956 0.040357 -0.0403 0.059465 0.040446 -0.02192 0.044965 0.052258 -0.029187 0.043585 0.051088 -0.021919 0.039826 0.053521 -0.030331 0.039749 0.052133 -0.021998 0.049847 0.046725 -0.031911 0.046848 0.045187 -0.035276 0.039753 0.047529 -0.042016 0.044823 0.041594 -0.05194 0.044707 0.043498 -0.041928 0.039327 0.043582 -0.051857 0.039252 0.046212 -0.059453 0.04424 0.042862 -0.060765 0.039087 0.044363 -0.024273 0.11038 0.039129 -0.032379 0.10878 0.037952 -0.041152 0.10853 0.037969 -0.051698 0.10906 0.038258 -0.062091 0.10877 0.038274 -0.071655 0.10596 0.037516 -0.074634 0.097746 0.038347 -0.07912 0.10508 0.032308 -0.080203 0.096758 0.033592 -0.08378 0.10568 0.025985 -0.087292 0.10314 0.020825 -0.08521 0.097079 0.02781 -0.088082 0.096456 0.022985 -0.07516 0.08604 0.038816 -0.064577 0.073455 0.03897 -0.072279 0.076416 0.036413 -0.076375 0.072563 0.02873 -0.080031 0.087076 0.03429 -0.078919 0.079371 0.032477 -0.084834 0.086686 0.026974 -0.087891 0.089233 0.022611 -0.081048 0.077169 0.025829 -0.086393 0.10784 0.018635 -0.087672 0.10492 0.017264 -0.089333 0.098483 0.01761 -0.086375 0.083067 0.018607 -0.089179 0.089186 0.018947 -0.082879 0.076109 0.017794 -0.0825 0.074674 0.0071175 -0.026437 0.064141 0.039321 -0.030035 0.06613 0.038942 -0.026131 0.056531 0.038882 -0.031664 0.056657 0.037742 -0.045716 0.064541 0.039166 -0.051959 0.066869 0.036733 -0.042557 0.055545 0.039026 -0.049406 0.056892 0.034344 -0.0555 0.062391 0.029498 -0.05375 0.058574 0.026313 -0.03406 0.050137 0.038577 -0.041741 0.04959 0.03929 -0.050975 0.049435 0.036965 -0.053 0.051065 0.029209 -0.054145 0.054568 0.012257 -0.055848 0.05417 0.0083272 -0.054844 0.049295 0.011462 -0.05615 0.050619 0.0092929 -0.061451 0.068257 0.035376 -0.069725 0.069958 0.032788 -0.062823 0.063322 0.026886 -0.071037 0.066787 0.025228 -0.060857 0.060568 0.022643 -0.067 0.061558 0.020109 -0.0782 0.071279 0.021032 -0.062116 0.045145 0.037802 -0.065473 0.039513 0.037964 -0.06725 0.03742 0.033413 -0.072702 0.065008 0.018701 -0.06145 0.059165 0.018731 -0.0675 0.061479 0.019221 -0.057411 0.054114 0.0038257 -0.079222 0.070654 0.017735 -0.062473 0.04468 0.01111 -0.06725 0.042258 0.010414 -0.066389 0.040515 0.01316 -0.068359 0.038502 0.011958 -0.061381 0.04748 0.007607 -0.068559 0.043549 0.0081576 -0.070929 0.03983 0.0085888 -0.016625 0.18375 -0.019735 -0.015198 0.17471 -0.018868 -0.015944 0.16264 -0.0091037 -0.015977 0.1607 -0.0088072 -0.013251 0.16708 -0.015264 -0.014292 0.16098 -0.011252 -0.013986 0.184 -0.023739 -0.011633 0.17699 -0.023349 -0.0091029 0.16988 -0.021457 -0.025562 0.18273 -0.0096247 -0.02725 0.18254 -0.0094384 -0.025736 0.17948 -0.0089653 -0.031216 0.17589 -0.0051154 -0.020399 0.1845 -0.014943 -0.021339 0.17645 -0.014566 -0.027125 0.17234 -0.010156 -0.03939 0.1733 -0.0023575 -0.022876 0.16406 -0.0078103 -0.031597 0.16651 -0.0049292 -0.0226 0.15912 -0.003799 -0.030372 0.15767 -0.0012672 -0.021158 0.16849 -0.012383 -0.027 0.1712 -0.01022 -0.041719 0.16813 -0.00074958 -0.04825 0.16748 -0.00015191 -0.03725 0.16147 -7.2628e-05 -0.066429 0.15783 -0.0085673 -0.071284 0.15839 -0.005998 -0.065979 0.16288 -0.017792 -0.071623 0.16384 -0.01576 -0.066068 0.16051 -0.013567 -0.073307 0.16049 -0.011832 -0.077 0.16204 -0.019241 -0.077179 0.15851 -0.01495 -0.073691 0.17286 -0.037944 -0.07755 0.17221 -0.039175 -0.065921 0.16586 -0.025022 -0.072095 0.16784 -0.024725 -0.066 0.16808 -0.030916 -0.073448 0.17051 -0.032045 -0.07777 0.16434 -0.025938 -0.077893 0.16039 -0.021299 -0.078211 0.169 -0.034566 -0.034667 0.15131 -0.00071029 -0.066117 0.17353 -0.047453 -0.071986 0.17612 -0.045384 -0.06925 0.182 -0.055026 -0.064992 0.17802 -0.054645 -0.069935 0.17983 -0.051988 -0.07793 0.17516 -0.0444