这是本人顽固的想用VS2017编译PCL的产物。一共有7部分,这次先介绍第一部分即用vs2017动态编译vtk8.1.1
从官网下载VTK最新的源码包.本文下载的是VTK-8.1.1.zip
我就解压到我的F盘了。大伙只要不解压到C盘就都可以。
源码编译opencv,pcl,cgal必备神器cmake.不多说,去cmake官网下载最新版本然后安装好。这一步应该是每个地球人的基本操作,我就不过多叙述了。
自己同理搞好Qt的安装配置。这也是地球人都应该掌握的基本操作。跳过。
首先以管理员身份运行cmake。然后分别设置源码路径跟构建路径。(源码路径就是你vtk解压过后的那个文件夹,你把那个文件夹点开里面会有那个CMakeLists.txt)
至于构建路径,就是cmake最后在你的这个路径下面会生成vtk.sln的那个文件夹。自己随便新建一个文件夹就好了。像我就是F:\build\vtk
最后cmake就应该是这样
然后就点击Configure。选择编译器:
然后你会发现你的cmake一片大红。不要担心,我们马上来进行修改
首先修改这个.BUILD_SHARED_LIBS 选中这个,打勾,这样最后生成的vtk才会有dll跟lib
然后修改这个 VTK_Group_Qt 选中打勾,这样以后方便你在qt里面使用pcl.
接着修改CMAKE_INSTALL_PREFIX 这个目录是你vtk编译完了之后关于vtk的include,lib,dll的存放目录。小白就向我一样修改吧。我反正懒得用他的默认目录然后在C盘里面找。我修改的目录是F:\VTK\8.1.1\msvc2017_64
接着修改这些。
这些是你默认安装在C盘时他自动跟你创建的文件夹。我们既然都不用默认的了,那肯定也要换。无非就是在F:\VTK\8.1.1\msvc2017_64里面照葫芦画瓢新建几个文件夹好了。
所以换了以后的结果如下:
然后就点击configure.不要慌,还要点击好几次configure的。
发现还有红色对不对。不用管,我们继续
修改VTK_QT_VERSION 如果是5就ok了。不是5就改成5.
如果你的qt配好了的话,什么环境变量都加好了那就应该如我下面这张图一样,都找得到qt的路径的。
你会发现没有红色对不对,全白了对不对。但是别慌。我们仍然需要修改一个很重要的东西。
点击Add Entry
Name:CMAKE_DEBUG_POSTFIX
Type:STRING
Value:d
Description:不管,可以为空
那么这么做有什么好处呢?就是让vtk的lib最后分为debug版本跟release版本。Debug版本带d。release版本不带d。方便区分.
然后点击configure。不出意外就是没有红色了。然后就是点击generate。
接着我们在cmake的构建目录下面找到这个,找到构建目录下的GUISupport\Qt\PluginInstall.cmake。打开。这是打开后的:
我们要修改成这样:
把这一句话注释掉: set(VTK_INSTALL_QT_PLUGIN_FILE “QVTKWidgetPlugin${BUILDTYPE_SUFFIX}.dll”)
然后换成这个:
IF(BUILD_TYPE MATCHES Debug)
SET(VTK_INSTALL_QT_PLUGIN_FILE “QVTKWidgetPlugind.dll”)
ELSE()
SET(VTK_INSTALL_QT_PLUGIN_FILE “QVTKWidgetPlugin.dll”)
ENDIF()
结果如下图:
然后保存.再关闭文件.
然后我们就用vs2017来编译这个vtk了。
首先,用管理员运行vs2017
选择debug,x64,然后ALL_BUILD生成。
慢慢等吧。
我电脑反正是等了5分钟。这告诉我们学编程电脑一定要好。快去找家里要预算买电脑吧。没有i7-8700k,gtx1180,128g内存,2T固态能学好编程吗?显然是不行的。
好的,大功告成
然后就右键install。仅生成install
结果如图:
同理,再在release版本下面重复之前的操作。先all build ,再install。
然后就等我的下一篇文章吧。下一篇应该是用vs2017加MPI静态编译Boost.