Howto Install and Configure VTK on Ubuntu

22 篇文章 1 订阅
5 篇文章 0 订阅

Howto Install and Configure VTK on Ubuntu

  1. Download vtk-5.10.1.tar.gz fromhttp://vtk.org/VTK/resources/software.html#latestand extract;

  2. $cd/home/chen/Downloads/VTK5.10.1/

  3. $mkdir VTKBin

  4. $cd VTKBin

  5. $cmake ..

  6. $ccmake ..

    configure as follows:


  1. press c to configure, and press g togenerate and exit;

  2. $make

  3. copy the include files andlibraries to system directories: $sudo make install

  4. copy the plugin to qt:

    1. $cd /usr/lib/qt4

    2. sudo mkdir plugins

    3. cd plugins

    4. sudo mkdir designer

    5. sudo cp~/Downloads/VTK5.10.1/VTKBin/bin/libQVTKWidgetPlugin.so/usr/lib/qt4/plugins/designer

    6. open qtcreator (can be installedfrom Ubuntu Software Center) create one Gui application

      and open the ui by qtdesigner tocheck QVTKWidget.


To use VTK in your own project, addfollowing to the CMakeLists.txt in your project:

########################################################

#VTK

#set(VTK_DIR"~/Downloads/vtk/VTK5.10.1/build")

set(VTK_DIR "/usr/local/lib/vtk-5.10")

find_package(VTK REQUIRED)

include(${VTK_USE_FILE})

########################################################


add target link libraries to yourproject: ${VTK_LIBRARIES} QVTK


A complete example of using VTKtogether with Qt in a CMake project can be found at:

http://blog.csdn.net/owldestiny/article/details/8806128.


Herewe give a complete CMake project using both Qt and VTK, the completeprogram can be download athttp://download.csdn.net/detail/owldestiny/5262489:

Theproject structure is:

└──QtVtkTest

├──bin

│  └── QtVtkTest

├──build

├──CMakeLists.txt

├──include

│  └── QtVtkTest.h

├──qrc

├──src

│  ├── main.cpp

│  └── QtVtkTest.cpp

└──ui

└── QtVtkTest.ui



Inthis project we do not use qrc.

TheCMakeLists.txt is:

======================================================================

cmake_minimum_required(VERSION2.8)

project(QtVtkPCLTest)


set(CMAKE_BUILD_TYPEdebug)

########################################################

#Qt

find_package(Qt4REQUIRED)

include(${QT_USE_FILE})

add_definitions(${QT_DEFINITIONS})

########################################################


########################################################

#VTK

#set(VTK_DIR"~/Downloads/vtk/VTK5.10.1/build")

set(VTK_DIR"/usr/local/lib/vtk-5.10")

find_package(VTKREQUIRED)

include(${VTK_USE_FILE})

#MESSAGE(STATUS${VTK_LIBRARIES})

########################################################


########################################################

#PCL

find_package(PCL1.3 REQUIRED)

include_directories(${PCL_INCLUDE_DIRS})

link_directories(${PCL_LIBRARY_DIRS})

add_definitions(${PCL_DEFINITIONS})

########################################################


########################################################

#Projectsettings

#set(PROJECT_SOURCESmain.cpp)#all sources files

set(LIBRARY_OUTPUT_PATH${PROJECT_SOURCE_DIR}/lib)

set(EXECUTABLE_OUTPUT_PATH${PROJECT_SOURCE_DIR}/bin)

include_directories(${PROJECT_SOURCE_DIR}/include${CMAKE_CURRENT_BINARY_DIR})#to include ui_*.h generated byQT4_WRAP_UI, you should include ${CMAKE_CURRENT_BINARY_DIR}

aux_source_directory(${PROJECT_SOURCE_DIR}/src/PROJECT_SOURCES)

########################################################


########################################################

#GenerateQt files

set(PROJECT_HEADERS${PROJECT_SOURCE_DIR}/include/QtVtkPCLTest.h)#only headers includeQ_OBJECT

QT4_WRAP_CPP(PROJECT_HEADERS_MOC${PROJECT_HEADERS})


set(PROJECT_UI${PROJECT_SOURCE_DIR}/ui/QtVtkPCLTest.ui)#ui file

QT4_WRAP_UI(PROJECT_UI_UIC${PROJECT_UI})

#file(COPY${PROJECT_UI_UIC} DESTINATION ${PROJECT_SOURCE_DIR}/include/)#copyui_.h file to include

#message(STATUSPROJECT_UI: ${PROJECT_UI})

#message(STATUSPROJECT_UI_UIC: ${PROJECT_UI_UIC})

#message(STATUSCMAKE_BINARY_DIR: ${CMAKE_BINARY_DIR})

#message(STATUSPROJECT_BINARY_DIR: ${PROJECT_BINARY_DIR})

#message(STATUSCMAKE_SOURCE_DIR: ${CMAKE_SOURCE_DIR})

#message(STATUSPROJECT_SOURCE_DIR: ${PROJECT_SOURCE_DIR})

#message(STATUSCMAKE_CURRENT_BINARY_DIR: ${CMAKE_CURRENT_BINARY_DIR})


#set(PROJECT_RC${PROJECT_SOURCE_DIR}/qrc)#resource files

#QT4_WRAP_RESOURCES(PROJECT_RC_RCC${PROJECT_RC})

########################################################


########################################################

#generateexecutables and link libraries

add_executable(QtVtkPCLTest${PROJECT_SOURCES} ${PROJECT_HEADERS_MOC} ${PROJECT_UI_UIC})#${PROJECT_RC_RCC})

target_link_libraries(QtVtkPCLTest${QT_LIBRARIES} ${VTK_LIBRARIES} QVTK ${PCL_LIBRARIES})#QVTKQVTKWidget for VTK in Qt

======================================================================


The QtVtkTest.ui(only including one QVTKWidget) can be generated and edited by QtDesigner as:

======================================================================

<?xml version="1.0"encoding="UTF-8"?>
<ui version="4.0">
<class>mainWindow</class>
<widget class="QMainWindow"name="mainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>722</width>
<height>512</height>
</rect>
</property>
<property name="windowTitle">
<string>Qt VTK Test</string>
</property>
<widget class="QWidget"name="centralwidget">
<widget class="QVTKWidget"name="qvtkWidget">
<property name="geometry">
<rect>
<x>20</x>
<y>10</y>
<width>691</width>
<height>471</height>
</rect>
</property>
</widget>
</widget>
<widget class="QStatusBar"name="statusbar"/>
</widget>
<customwidgets>
<customwidget>
<class>QVTKWidget</class>
<extends>QWidget</extends>
<header>QVTKWidget.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>


======================================================================


The main.cpp is:

======================================================================

#include <QApplication>
#include "QtVtkTest.h"


int main(int argc, char**argv)
{
QApplication app(argc,argv);
Qt_QtVtkTest qtTest;
qtTest.show();

return app.exec();
}


======================================================================


TheQtVtkTest.h is:

======================================================================

#include <QtGui/QMainWindow>
#include "ui_QtVtkTest.h"

class Qt_QtVtkTest: publicQMainWindow
{
Q_OBJECT
public:
Qt_QtVtkTest()
{
ui.setupUi(this);
}
public:
Ui::mainWindow ui;

};


======================================================================






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值