VTK-8.2 windows下用cmake编译CMAKE_DEBUG_POSTFIX变量无法加入问题解决

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的前缀,问题解决。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值