Create a gist now

Instantly share code, notes, and snippets.

Building VTK with Visual Studio

Building VTK5 with Visual Studio

Download

  1. VTK 5.10.1(VTK-5.10.1.zip)をダウンロードしてファイルを解凍する。(C:\VTK-5.10.1) http://www.vtk.org/VTK/resources/software.html#previous
    https://github.com/Kitware/VTK/tree/v5.10.1
     

CMake

  1. ソースコードの入力先とソリューションファイルの出力先を指定する。

    • Where is the source code: C:\VTK-5.10.1
    • Where is build the binaries: C:\VTK-5.10.1\build
  2. [Configure]を押してターゲットとなるVisual Studioを選択する。

  3. 各種設定を行う。

    • BUILD_SHAREED_LIBS ☐ (uncheck)
    • BUILD_TESTING ☐ (uncheck)
    • CMAKE_CONFIGURATION_TYPES Debug;Release
    • CMAKE_INSTALL_PREFIX C:\Program Files\VTK (or C:\Program Files (x86)\VTK)
  4. [Add Entry]を押して以下の設定を追加する。

    Name: CMAKE_DEBUG_POSTFIX
    Type: STRING
    Value: -gd
    Description:

    * Debugビルドの生成ファイルのファイル名(最後尾)に付加する文字列。

  5. [Generate]を押してソリューションファイルを出力する。

Build

  1. Visual Studioを管理者権限で起動してVTKのソリューションファイル(C:\VTK-5.10.1\build\VTK.sln)を開く。
    (Visual Studioを管理者権限で起動しないとINSTALLが失敗する。)

  2. ソースコードを修正する。

    • vtkOStreamWrapper.cxx
      60 line

      //VTKOSTREAM_OPERATOR(ostream&);
      vtkOStreamWrapper& vtkOStreamWrapper::operator << (ostream& a) {
        this->ostr << (void *)&a;
        return *this;
      }
      
    • vtkEnSightGoldBinaryReader.cxx
      3925 line

      if (this->IFile->read(result, 80).fail())
      

      3944 line

      if (this->IFile->read(dummy, 8).fail())
      

      4001 line

      if (this->IFile->read(dummy, 4).fail())
      

      4008 line

      if (this->IFile->read((char*)result, sizeof(int)).fail())
      

      4025 line

      if (this->IFile->read(dummy, 4).fail())
      

      4048 line

      if (this->IFile->read(dummy, 4).fail())
      

      4055 line

      if (this->IFile->read((char*)result, sizeof(int)*numInts).fail())
      

      4072 line

      if (this->IFile->read(dummy, 4).fail())
      

      4095 line

      if (this->IFile->read(dummy, 4).fail())
      

      4102 line

      if (this->IFile->read((char*)result, sizeof(float)*numFloats).fail())
      

      4119 line

      if (this->IFile->read(dummy, 4).fail())
      
    • vtkConvexHull2D.cxx
      31 line

      #include <algorithm>
      
    • vtkAdjacencyMatrixToEdgeTable.cxx
      31 line

      #include <algorithm>
      
    • vtkNormalizeMatrixVectors.cxx
      30 line

      #include <algorithm>
      
    • vtkPairwiseExtractHistogram2D.cxx
      39 line

      #include <algorithm>
      
    • vtkControlPointsItem.cxx
      35 line

      #include <algorithm>
      
    • vtkPiecewisePointHandleItem.cxx
      31 line

      #include <algorithm>
      
    • vtkParallelCoordinatesRepresentation.cxx
      83 line

      #include <algorithm>
      
  3. VTKをビルドする。(ALL_BUILD)

    1. ソリューションの構成(Debug, Release)を設定する。
    2. ソリューションエクスプローラーからALL_BUILDプロジェクトを選択する。
    3. [ビルド]>[ソリューションのビルド]を押してVTKをビルドする。
  4. VTKをインストールする。(INSTALL)

    1. ソリューションエクスプローラーからINSTALLプロジェクトを選択する。
    2. [ビルド]>[プロジェクトのみ]>[INSTALLのみをビルド]を押してVTKをインストールする。
      CMAKE_INSTALL_PREFIXで指定した出力先へ必要なファイルがコピーされる。

Environment Variable

  1. 環境変数VTK_ROOTを作成してVTKのパス(C:\Program Files\VTK)を設定する。

  2. 環境変数Pathに;%VTK_ROOT%\binを追加する。

Building VTK6.1 with Visual Studio

Download

  1. VTK 6.1.0(VTK-6.1.0.zip)をダウンロードしてファイルを解凍する。(C:\VTK-6.1.0) http://www.vtk.org/VTK/resources/software.html#latestcand
    https://github.com/Kitware/VTK/tree/v6.1.0
     

CMake

  1. ソースコードの入力先とソリューションファイルの出力先を指定する。

    • Where is the source code: C:\VTK-6.1.0
    • Where is build the binaries: C:\VTK-6.1.0\build
  2. [Configure]を押してターゲットとなるVisual Studioを選択する。

  3. 各種設定を行う。

    • BUILD_SHAREED_LIBS ☐ (uncheck)
    • BUILD_TESTING ☐ (uncheck)
    • CMAKE_CONFIGURATION_TYPES Debug;Release
    • CMAKE_CXX_MP_FLAG ☑ (check)
    • CMAKE_INSTALL_PREFIX C:\Program Files\VTK (or C:\Program Files (x86)\VTK)
  4. [Add Entry]を押して以下の設定を追加する。

    Name: CMAKE_DEBUG_POSTFIX
    Type: STRING
    Value: -gd
    Description:

    * Debugビルドの生成ファイルのファイル名(最後尾)に付加する文字列。

  5. [Generate]を押してソリューションファイルを出力する。

Build

  1. Visual Studioを管理者権限で起動してVTKのソリューションファイル(C:\VTK-6.1.0\build\VTK.sln)を開く。
    (Visual Studioを管理者権限で起動しないとINSTALLが失敗する。)

  2. VTKをビルドする。(ALL_BUILD)

    1. ソリューションの構成(Debug, Release)を設定する。
    2. ソリューションエクスプローラーからALL_BUILDプロジェクトを選択する。
    3. [ビルド]>[ソリューションのビルド]を押してVTKをビルドする。
  3. VTKをインストールする。(INSTALL)

    1. ソリューションエクスプローラーからINSTALLプロジェクトを選択する。
    2. [ビルド]>[プロジェクトのみ]>[INSTALLのみをビルド]を押してVTKをインストールする。
      CMAKE_INSTALL_PREFIXで指定した出力先へ必要なファイルがコピーされる。

Environment Variable

  1. 環境変数VTK_DIRを作成してVTKのパス(C:\Program Files\VTK)を設定する。

  2. 環境変数Pathに;%VTK_DIR%\binを追加する。

Building VTK 6.3.0 with Visual Studio

Download

  1. VTK 6.3.0(VTK-6.3.0.zip)をダウンロードしてファイルを解凍する。(C:\VTK-6.3.0) http://www.vtk.org/VTK/resources/software.html#latestcand
    https://github.com/Kitware/VTK/tree/v6.3.0
     

CMake

  1. ソースコードの入力先とソリューションファイルの出力先を指定する。

    • Where is the source code: C:\VTK-6.3.0
    • Where is build the binaries: C:\VTK-6.3.0\build
  2. [Configure]を押してターゲットとなるVisual Studioを選択する。

  3. 各種設定を行う。

    • BUILD_SHAREED_LIBS ☐ (uncheck)
    • BUILD_TESTING ☐ (uncheck)
    • CMAKE_CONFIGURATION_TYPES Debug;Release
    • CMAKE_CXX_MP_FLAG ☑ (check)
    • CMAKE_INSTALL_PREFIX C:\Program Files\VTK (or C:\Program Files (x86)\VTK)
  4. [Add Entry]を押して以下の設定を追加する。

    Name: CMAKE_DEBUG_POSTFIX
    Type: STRING
    Value: -gd
    Description:

    * Debugビルドの生成ファイルのファイル名(最後尾)に付加する文字列。

  5. [Generate]を押してソリューションファイルを出力する。

Build

  1. Visual Studioを管理者権限で起動してVTKのソリューションファイル(C:\VTK-6.3.0\build\VTK.sln)を開く。
    (Visual Studioを管理者権限で起動しないとINSTALLが失敗する。)

  2. VTKをビルドする。(ALL_BUILD)

    1. ソリューションの構成(Debug, Release)を設定する。
    2. ソリューションエクスプローラーからALL_BUILDプロジェクトを選択する。
    3. [ビルド]>[ソリューションのビルド]を押してVTKをビルドする。
  3. VTKをインストールする。(INSTALL)

    1. ソリューションエクスプローラーからINSTALLプロジェクトを選択する。
    2. [ビルド]>[プロジェクトのみ]>[INSTALLのみをビルド]を押してVTKをインストールする。
      CMAKE_INSTALL_PREFIXで指定した出力先へ必要なファイルがコピーされる。

Environment Variable

  1. 環境変数VTK_DIRを作成してVTKのパス(C:\Program Files\VTK)を設定する。

  2. 環境変数Pathに;%VTK_DIR%\binを追加する。

Building VTK 7.0.0 with Visual Studio

Download

  1. VTK 7.0.0(VTK-7.0.0.zip)をダウンロードしてファイルを解凍する。(C:\VTK-7.0.0) http://www.vtk.org/VTK/resources/software.html#latestcand
    https://github.com/Kitware/VTK/tree/v7.0.0
     

CMake

  1. ソースコードの入力先とソリューションファイルの出力先を指定する。

    • Where is the source code: C:\VTK-7.0.0
    • Where is build the binaries: C:\VTK-7.0.0\build
  2. [Configure]を押してターゲットとなるVisual Studioを選択する。

  3. 各種設定を行う。
    BUILD

    • BUILD_SHAREED_LIBS ☐ (uncheck)
    • BUILD_TESTING ☐ (uncheck)

    CMAKE

    • CMAKE_CONFIGURATION_TYPES Debug;Release
    • CMAKE_CXX_MP_FLAG ☑ (check)
    • CMAKE_INSTALL_PREFIX C:\Program Files\VTK (or C:\Program Files (x86)\VTK)

    VTK

    • VTK_RENDERING_BACKEND OpenGL *1

    *1 この問題(#1601)を回避するための一時的な措置。

  4. [Add Entry]を押して以下の設定を追加する。

    Name: CMAKE_DEBUG_POSTFIX
    Type: STRING
    Value: -gd
    Description:

    * Debugビルドの生成ファイルのファイル名(最後尾)に付加する文字列。

  5. [Generate]を押してソリューションファイルを出力する。

Build

  1. Visual Studioを管理者権限で起動してVTKのソリューションファイル(C:\VTK-7.0.0\build\VTK.sln)を開く。
    (Visual Studioを管理者権限で起動しないとINSTALLが失敗する。)

  2. VTKをビルドする。(ALL_BUILD)

    1. ソリューションの構成(Debug, Release)を設定する。
    2. ソリューションエクスプローラーからALL_BUILDプロジェクトを選択する。
    3. [ビルド]>[ソリューションのビルド]を押してVTKをビルドする。
  3. VTKをインストールする。(INSTALL)

    1. ソリューションエクスプローラーからINSTALLプロジェクトを選択する。
    2. [ビルド]>[プロジェクトのみ]>[INSTALLのみをビルド]を押してVTKをインストールする。
      CMAKE_INSTALL_PREFIXで指定した出力先へ必要なファイルがコピーされる。

Environment Variable

  1. 環境変数VTK_DIRを作成してVTKのパス(C:\Program Files\VTK)を設定する。

  2. 環境変数Pathに;%VTK_DIR%\binを追加する。

@UnaNancyOwen
Owner

Note: Building VTK 6.2 with Visual Studio 2015

Visual Studio 2015でC99がサポートされたことに起因するエラーの修正、Visual C++ 2015の破壊的変更に起因するエラーの修正、およびコンパイラの最適化に起因するエラー(C1001)の修正を行う必要がある。

  • 以下のPull Request(#311#307)をMergeする。
    • Common/Core/vtkWin32ProcessOutputWindow.cxx
      98 line

      sprintf(exeName, "vtkWin32OWP_%" PRIdword "_%p_%u.exe",
      
    • ThirdParty/hdf5/vtkhdf5/config/cmake/ConfigureChecks.cmake
      186 line

      # set (H5_HAVE_TIMEZONE 1)
      
    • ThirdParty/libxml2/vtklibxml2/config_cmake.h.in
      253 line

      #if defined(_MSC_VER) && (_MSC_VER < 1900)
      
    • ThirdParty/tiff/vtktiff/CMakeLists.txt
      70 line (add)

      CHECK_INCLUDE_FILES("search.h" HAVE_SEARCH_H)
      
    • ThirdParty/tiff/vtktiff/tif_config.h.in
      73-75 line (add)

      /* Define to 1 if you have the <search.h> header file. */
      #cmakedefine HAVE_SEARCH_H @HAVE_SEARCH_H@
      
      
    • ThirdParty/hdf5/vtkhdf5/config/cmake/HDF5Tests.c
      235-245 line (add)

      #if defined(_MSC_VER) && defined(_DEBUG)
      # include <crtdbg.h>
      int DebugReport(int reportType, char* message, int* returnValue)
      {
        (void)reportType;
        (void)message;
        (void)returnValue;
        return 1; /* no further handling required */
      }
      #endif
      
      

      252-254 line (add)

      #if defined(_MSC_VER) && defined(_DEBUG)
        _CrtSetReportHook(DebugReport);
      #endif
      
  • ソースコードを修正する。 (暫定的な修正)
    • IO/EnSight/vtkEnSightReader.cxx
      1467 line (add)

      #pragma optimize( "", off )
      

      1785 line (add)

      #pragma optimize( "", on )
      
@UnaNancyOwen
Owner

Note: Building QVTK(VTK6+Qt5) with Visual Studio

https://gist.github.com/UnaNancyOwen/77d61f9f21376c9b59fc

@caomw
caomw commented Mar 15, 2016

good

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment