最近要在mac运行一个Qt工程,需要使用OpenCV+ITK+VTK,搞了好久才搞定。我只想说,vtk+itk在mac上的资料真心少,虽然osx和linux的安装配置大体一样,但是就是那些许差异埋得坑真是磨人(特别是对于身为新手而言,泪奔啊´╮(╯﹏╰)╭ 。所以搞定之后打算好好写个博客记录自己踩过的坑,也供给他人提供经验少踩坑。
这边博客主要记录Mac上VTK的安装,和如何在Qt上使用VTK
环境:
- Mac OSX 10.11.2
- OpenCV3.0
- Qt 5
- QtCreator 3.5
- cmake version 3.5.2
VTK的安装
下载VTK源码包,可上官网下载 http://www.vtk.org/download/
关于版本选择,还是那句话,(如果你并不需要最新版本独有的功能或对各版本区别不熟悉,还是下载前一个稳定版吧。) 这里因为我的工程用到了vtkRenderingFreeTypeOpenGL模块,而这个模块在VTK6.3被更改舍弃,所以为了正常运行我已有的工程,我选择了VTK6.2。在此提供多版本下载地址https://gitlab.kitware.com/vtk/vtk/tags解压VTK源码包
进入目录创建build文件夹,存放编译文件
通过cmake配置并编译,这里可以用cmake GUI工具,或者直接在终端下用命令行ccmake配置。新手推荐使用GUI。
以下为 cmake GUI界面,选择你的VTK目录及其build目录,按左下角的configure配置,选择生成Unix Makefile
cmake一般需要多次 configure > 红色警告,修改配置 >再次configure; 直到无红色警告再Generate。
列出需要的cmake配置及可能碰到的问题1
主要配置
BUILD_SHARED_LIBS ON
VTK_Group_Qt ON
VTK_QT_VERSION 5
QT_QMAKE_EXECUTABLE /Users/jerry/Applications/Qt/5.5/clang_64/bin/qmake
Qt5_DIR /Users/jerry/Applications/Qt/5.5/clang_64/lib/cmake/Qt5
- 默认是选择Qt4,如果你使用Qt5第一次configure之后会提示Qt版本错误
QT_QMAKE_EXECUTABLE 和 Qt5_DIR 与你Qt得安装路径相关,其中Qt5_DIR配置完之后如果不能自动检测Qt5各个模块的q make,需要手动配置。
QT_QMAKE_EXECUTABLE /Users/jerry/Applications/Qt/5.5/clang_64/bin/qmake
Qt5Core_DIR /Users/jerry/Applications/Qt/5.5/clang_64/lib/cmake/Qt5Core
Qt5Designer_DIR /Users/jerry/Applications/Qt/5.5/clang_64/lib/cmake/Qt5Designer
Qt5Gui_DIR /Users/jerry/Applications/Qt/5.5/clang_64/lib/cmake/Qt5Gui
Qt5Network_DIR /Users/jerry/Applications/Qt/5.5/clang_64/lib/cmake/Qt5Network
Qt5OpenGL_DIR /Users/jerry/Applications/Qt/5.5/clang_64/lib/cmake/Qt5OpenGL
Qt5Sql_DIR /Users/jerry/Applications/Qt/5.5/clang_64/lib/cmake/Qt5Sql
Qt5UiPlugin_DIR /Users/jerry/Applications/Qt/5.5/clang_64/lib/cmake/Qt5UiPlugin
Qt5WebKitWidgets_DIR /Users/jerry/Applications/Qt/5.5/clang_64/lib/cmake/Qt5WebKitWidgets
Qt5WebKit_DIR /Users/jerry/Applications/Qt/5.5/clang_64/lib/cmake/Qt5WebKit
Qt5Widgets_DIR /Users/jerry/Applications/Qt/5.5/clang_64/lib/cmake/Qt5Widgets
Qt5Xml_DIR /Users/jerry/Applications/Qt/5.5/clang_64/lib/cmake/Qt5Xml
Qt5_DIR /Users/jerry/Applications/Qt/5.5/clang_64/lib/cmake/Qt5
- 终端到 build目录下,执行
make -j8
,其中-j8
为多线程执行命令,加速编译过程 - 最后安装
make install -j8
,这样就安装王完成了。
打开Qt Creator创建新工程
- 新建工程 > New Project
- 选择项目Application > Qt Widgets Application > next
- 工程名tesVTK,工程路径
- 之后一直默认选择,创建完成。
工程创建之后的目录如下
☁ Qt tree testOpenCV
testVTK
├── main.cpp
├── mainwindow.cpp
├── mainwindow.h
├── mainwindow.ui
├── testVTK.pro
└── testVTK.pro.user
0 directories, 6 files
对新建工程配置VTK路径链接
工程中的testVTK.pro即为工程自动生成的配置文件,我们只需要在此文件上添加需要用的配置,当然如果不知道自己用到哪些链接库,可全部添加。
INCLUDEPATH+= /usr/local/include/vtk-6.2
LIBS +=-L/usr/local/lib -lvtkChartsCore-6.2.1 \
-lvtkCom