红联Linux门户
Linux帮助

Ubuntu14.04下安装VTK6.2

发布时间:2016-06-10 10:03:13来源:linux网站作者:KyJason

VTK是一个基于面向对象的开源三维绘图软件包,安装过程并不复杂,简单的cmake就可以编译安装,具体过程还是要记录一下,以便翻看。


一、安装

1.下载VTK6,可以上官网自行下载:http://www.vtk.org/download/

2.解压到当前目录

3.进入目录创建build文件夹,存放编译文件。

4.进入build文件夹进行配置,进行配置ccmake ..  (注意ccmake与..之间有空格,".."代表上一级目录)

5.运行步骤4的代码会跳出一下配置:

Ubuntu14.04下安装VTK6.2

如果没有编译过的会提示没有缓存,可以按c进行配置,之后就会出现这个界面,用上下建选择条目,BUILD_SHARE_LIBS 选择ON ,VTK_Group_Qt选择 On就可以了,其它的可以不做更改,再次按c进行配置确认,按g保存配置。

6.执行make

7.最后安装 sudo make install

这样就安装完成了。


二、测试

新建Plane.cxx,写入代码:

#include <vtkVersion.h>
#include <vtkPlaneSource.h>
#include <vtkPolyData.h>
#include <vtkSmartPointer.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkRenderWindow.h>
#include <vtkRenderer.h>
#include <vtkRenderWindowInteractor.h>

int main(int, char *[])
{
// Create a plane
vtkSmartPointer<vtkPlaneSource> planeSource =
vtkSmartPointer<vtkPlaneSource>::New();
planeSource->SetCenter(1.0, 0.0, 0.0);
planeSource->SetNormal(1.0, 0.0, 1.0);
planeSource->Update();
vtkPolyData* plane = planeSource->GetOutput();
// Create a mapper and actor
vtkSmartPointer<vtkPolyDataMapper> mapper =
vtkSmartPointer<vtkPolyDataMapper>::New();
#if VTK_MAJOR_VERSION <= 5
mapper->SetInput(plane);
#else
mapper->SetInputData(plane);
#endif
vtkSmartPointer<vtkActor> actor =
vtkSmartPointer<vtkActor>::New();
actor->SetMapper(mapper);
// Create a renderer, render window and interactor
vtkSmartPointer<vtkRenderer> renderer =
vtkSmartPointer<vtkRenderer>::New();
vtkSmartPointer<vtkRenderWindow> renderWindow =
vtkSmartPointer<vtkRenderWindow>::New();
renderWindow->AddRenderer(renderer);
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
vtkSmartPointer<vtkRenderWindowInteractor>::New();
renderWindowInteractor->SetRenderWindow(renderWindow);
// Add the actors to the scene
renderer->AddActor(actor);
renderer->SetBackground(.1,.2,.3); // Background color dark blue
// Render and interact
renderWindow->Render();
renderWindowInteractor->Start();
return EXIT_SUCCESS;
}

新建CMakeLists.txt,写入代码:

cmake_minimum_required(VERSION 2.8)

PROJECT(Plane)

find_package(VTK REQUIRED)
include(${VTK_USE_FILE})

add_executable(Plane MACOSX_BUNDLE Plane)

if(VTK_LIBRARIES)
target_link_libraries(Plane ${VTK_LIBRARIES})
else()
target_link_libraries(Plane vtkHybrid vtkWidgets)
endif()

之后运行:

cmake ..
make
./Plane

运行效果如下:

Ubuntu14.04下安装VTK6.2

如果想要将VTK6的界面在Qt中显示,可以将目录build/lib/libQVTKWidgetPlugin.so文件放置到/usr/lib/x86_64-linux-gnu/qt4/plugins/designer中,记得使用最高权限。

如过是VTK5的版本,libQVTKWidgetPlugin.so文件在build/bin/文件夹下。


问题:

CMake Warning at CMakeLists.txt:5 (FIND_PACKAGE):
By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"Qt5Widgets", but CMake did not find one.
Could not find a package configuration file provided by "Qt5Widgets" with
any of the following names:
Qt5WidgetsConfig.cmake
qt5widgets-config.cmake
Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set
"Qt5Widgets_DIR" to a directory containing one of the above files.  If
"Qt5Widgets" provides a separate development package or SDK, be sure it has
been installed.

新建CMAKE_PREFIX_PATH到qtbase就可以了。


本文永久更新地址:http://www.linuxdiyf.com/linux/21391.html