VTK-8.2 windows下用cmake编译CMAKE_DEBUG_POSTFIX变量无法加入问题解决
按这篇博客上所说的一步一步编译,绝大部分没有问题,现贴在下面
https://blog.csdn.net/ktony_90/article/details/77966904
内容如下:
当我们使用QT为PCL项目制作UI的时候,需要让QT能够支持"QVTKWidget"。而这个"QVTKWidget"是VTK编译时添加了QT组件时,才会生成的。
大部分"PCL-All-in-One"安装包里的VTK是没有编译QT的。
这篇博客旨在描述,编译VTK时,如何添加QT组件。
Cmake编译过程:
下载安装QT(自行百度谷歌)。
下载VTK源码,https://www.vtk.org/download/
然后建立3个文件夹,分别命名为:
VTK_Src:将VTK的源码存放在此处,作为cmake的代码源路径
VTK_Build:cmake创建工程的,目标路径
VTK_Install:安装版本的,发布路径
然后打开Cmake,进行编译:
设置源路径及目标路径
选择编译器
初次配置,点击"Configuration"
点击Add Entry,添加CMAKE_PREFIX_PATH,设置为QT的安装路径。
点击Add Entry,添加CMAKE_DEBUG_POSTFIX,设置为"-gd"。用来区分debug与release版本下的dll和lib文件,不然的话创建安装文件的时候debug与release版本,名字相同相互覆盖。
勾选BUILD_SHARED_LIBIRARES及VTK_GROUP_QT
将CMAKE_INSTALL_PREFIX设置为VTK_Install的路径。默认的路径在C盘的Programfiles里面,需要管理员权限才能在默认路径下发布。
再次配置,点击"Configuration"
将"VTK_QT_VESION"改为5,如果没有cmake没有找到QT5的路径,再次设置。
再次配置,点击"Configuration"
完成配置"Configuration Done"
点击生成"Generate"
完成生成"Generate Done"
创建安装文件:
打开VTK_Build路径下的 VTK.sln
在debug_x64下ALL_Build,然后only build “Install”
在release_x64下ALL_Build,然后only build “Install”
至此,在"…\VTK_Install\ plugins\designer"的路径下,就可以发现"QVTKWidgetPlugin.dll"了。
将此"QVTKWidgetPlugin.dll"(必须是release版的),添加到你的QT的designer的路径下,“C:\Qt\Qt5.6.2\5.6\msvc2015_64\plugins\designer”。
但是,在我的实际运用中QT自带的Designer打开不*.ui的文件,平且自带的qtCreator是32位的,解析不出这个64位的"QVTKWidgetPlugin.dll"控件。所以,从官网上又下载了64位的qtCreator。
最后顺利的在QT的UI设计界面上,添加了QVTKWidget。
作者:恭勤不倦
来源:CSDN
原文:https://blog.csdn.net/ktony_90/article/details/77966904
版权声明:本文为博主原创文章,转载请附上博文链接!
问题来了
“添加CMAKE_DEBUG_POSTFIX”,并不起作用,导致最后release的内容还是把debug的覆盖掉了。
解决方法
进到VTK的源码文件中,找到CMakeLists.txt,进入添加一句:
set(CMAKE_DEBUG_POSTFIX -gd)
再次重复上面的博文,进行添加CMAKE_DEBUG_POSTFIX的前缀,问题解决。