Ubuntu14.04下安裝VTK6.2

VTK是一個基於面向對象的開源三維繪圖軟件包,安裝過程並不複雜,簡單的cmake就能夠編譯安裝,具體過程仍是要記錄一下,以便翻看。linux


一 安裝shell


1.下載VTK6,能夠上官網自行下載http://www.vtk.org/download/
緩存

2.解壓到當前目錄
app

3.進入目錄建立build文件夾,存放編譯文件。ide

4.進入build文件夾進行配置,進行配置ccmake ..  (注意ccmake與..之間有空格,".."表明上一級目錄)測試

5.運行步驟4的代碼會跳出一下配置:ui


    若是沒有編譯過的會提示沒有緩存,能夠按c進行配置,以後就會出現這個界面,用上下建選擇條目,BUILD_SHARE_LIBS 選擇ON VTK_Group_Qt選擇 On就能夠了,其它的能夠不作更改,再次按c進行配置確認,按g保存配置。
this

6.執行makespa

7.最後安裝 sudo make installcode

這樣就安裝完成了。


二 測試

新建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


運行效果以下:


若是想要將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就能夠了

相關文章
相關標籤/搜索