使用Qt Creator开发VTK
在Win8的64位电脑上,为VS2010配置Qt与VTK的联合开发,出现很多问题,为了解决这种情况,我们准备换一个IDE。为Qt工程开发的QtCreator是一个轻量级的IDE,他不仅可以方便的建立Qt工程,也可以像VS2010一样用于C++的开发,只要简单配置,就可用于VTK开发,具体如何操作,请看下文。
系统配置:
操作系统:win8 64位
编译器:VS2010
Qt库:4.8.5
Qt Creator 2.7.1
一.准备工作
1.安装Qt Creator
安装完成后,因为Qt库与Qt Creator单独安装,如果想使用Qt Creator我,我们需要配置Qt Creator。
2.配置Qt Creator
(1)指定Qt版本
在菜单栏点击工具->选项->构建与运行->Qt版本,如下图
选择Qt版本。
(2)选择编译器与调试器
在菜单栏点击工具->选项->构建与运行->构建套件,如下图
调试器如果默认没有,可以上网下载一个微软的调试器,dbg_x86_6.11.1.404.msi。
http://download.csdn.net/detail/u011675242/5996067安装后即可
配置完成后,可以新建一个Qt工程,尝试运行,调试一下,如果没有问题说明配置成功,下面开始配置VTK开发。
(3)准备VTK安装包
编译VTK或下载网上已经编译好的VTK安装文件,安装文件包括VTK的静态库与动态链接库,头文件等
一个debug版本的VTK安装包,亲测可以使用。
http://download.csdn.net/detail/u011675242/5996109
准备好后开始Qt Creator的配置之旅。
二.Qt Creator配置开发VTK
1.配置思路
其实为IDE配置开发第三方库的大致步骤都一样,
第一步:添加包含头文件目录,即将VTK的include文件夹目录指定为包含目录,这样IDE就可以找到函数与类的声明。
第二步:添加库目录与库名称,即将VTK的lib文件夹目录指定为库目录,并将所有库名称添加到指定位置。
第三部:将动态库添加到Windows目录的System32文件夹,即将VTK的bin目录内的.dll文件复制到System32。
2.Qt Creator的具体配置
因为Qt Creator新建Qt 工程时,会自动生成一个.pro文件。这个文件就是整个工程的配置文件,我们可以简单的在其中使用关键字添加头文件与库文件路径。
(1)头文件添加
使用关键字INCLUDEPATH,如下
INCLUDEPATH += D:\VTK2008_debug\VTK2008\include\vtk-5.8
(2)库文件添加
使用关键字LIBS,如下
LIBS += D:\VTK2008_debug\VTK2008\lib\vtk-5.8\MapReduceMPI.lib
LIBS+= D:\VTK2008_debug\VTK2008\lib\vtk-5.8\mpistubs.lib
LIBS+= D:\VTK2008_debug\VTK2008\lib\vtk-5.8\QVTK.lib
。
。
。
将所有库文件添加进去,其实这是一个一劳永逸的方法,以后如果新建工程就可以将这次配置好的文件复制进去。如果嫌麻烦,可以通过DOS命令导出库文件路径,不会的可以百度。
(3)复制dll文件
这个没什么好讲,就是将bin文件夹下的dll文件复制到System32文件夹下。
三.运行测试
最后就是新建一个Qt空项目,编写代码,测试结果了,代码可以使用我在以前写的用于测试Qt与VTK联合开发的代码。
运行结果:
2参考文献:Dynamic-range compression and contrast enhancement in infrared imaging systems对比度增强(CE)和动态范围压缩(DRC)技术 对比度增强技术广泛应用于图像处理中,该技术可以被划分为两类:基于非锐化掩码(unsharp mask)的方法和基于直方图均衡化(histogram equalization)的方法。基于非锐化掩码的方法的思想是将图像分解为低通成分和高通成分(低频图像和高频图像,即背景图像...
用一个数组实现3个栈实现3个栈,可以将数组分成栈1:3n+0栈2: 3n+1栈3: 3n+2代码:package Test;public class ThreeStack {Object[] stack;int s1,s2,s3;//每个栈的长度public ThreeStack(int index) { s1=0;s2=1;s3=2; stack=n...
C++设计模式类库 Loki介绍与用法Loki是由Andrei编写的一个与《Modern C++ Design》(C++设计新思维)一书配套发行的C++代码库。它不仅把C++模板的功能发挥到了极致,而且把类似设计模式这样思想层面的东西通过库来提供。本篇文章介绍如何利用Loki来轻松地实现一些设计模式。由于Loki使用了大量牛X到爆的模板技巧,对编译器的要求是很苛刻的,官
在任何情况下,您都不需要在堆上明确分配标签。您应该将它们直接存储为成员数组。否则,使用C风格数组和sizeof(array)/sizeof(array[0])成语来确定它在setup方法中的大小。写了一大堆基于QWidget的代码之后,我现在通常会认为小部件的构造函数中的堆显式地分配了子小部件,这是过早的悲观。很少有任何理由以这种方式编写代码。小部件已经在堆上分配了他们的实现数据(the pimp...
多通道缓冲串口模块的zheyib
Java中线程的创建有两种方式: 1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中2. 通过实现Runnable接口,实例化Thread类 在实际应用中,我们经常用到多线程,如车站的售票系统,车站的各个售票口相当于各个线程。当我们做这个系统的时候可能会想到两种方式来实现,继承Thread类或实现Runnable接口,现在看一下...
安卓短信验证使用的开发者平台地址 https://www.mob.com/点击右上角的产品中心进入开发者模式创建应用填写应用信息,图片可以随意,APP名称根据自己的需要去写填写完毕,就可以查看key和secret创建好应用就可以在自己的项目中配置,阅读开发文档切记这个是放在grade(Project)中的不是(Module)这个是放置在grade(Module)下,具体位置如下,如果放错位置同步的时候会报错核心api文档的代码,具体的结构如下setcode是实现短信验证
在Groovy中可以很方便的交换两个变量的值, 如:def(a,b)=[1,2];(a,b)=[b,a];这样, a,b变量的值就交换了, 那么Groovy是怎样实现的呢?来看看生成的字节码文件, 关键的代码如下://Methoddescriptor#39()Ljava/lang/Object;//Stack:4,Locals:6publicjava.lang....
每日一道leetcode108. 将有序数组转换为二叉搜索树2021-08-08给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。示例 1:输入:nums = [-10,-3,0,5,9]输出:[0,-3,9,-10,null,5]解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:示例 2:输入:nums = [1,3
课程:Algorithm算法视频教程百度网盘下载地址: http://pan.baidu.com/s/1qWFjjQW 密码: 2mji程序写的好不好,还得看算法屌不屌!Algorithm算法博大精深。 一、课程内容:课时1、算法的基本概念 + Sequential search课时2、Binary search课时3、Hash table课时4、Algor...
跨多端开发避坑指南前言细想,专门从事跨多端开发已两年有余,前段时间因为组里跨桌面端项目需要回归windows下开发了整整2个月,怎么形容这两个月呢,嘿嘿,各种“肆无忌惮”的写法,终于不用在...
以下是一些微软官方有关睡眠和休眠的常见问题解答。 问:睡眠、休眠和混合睡眠之间有什么区别? 答:“睡眠”是一种节能状态,当您希望再次开始工作时,可使计算机快速恢复全功率工作(通常在几秒钟之内)。让计算机进入睡眠状态就像暂停 DVD 播发机一样:计算机会立即停止工作,并做好继续工作的准备。“休眠”是一种主要为便携式计算机设计的电源节能状态。睡眠通常会将工作和设置保存在内存中并消耗少量