vtk チュートリアル
vtkを使い始める
サーチ…
備考
このセクションでは、vtkの概要と開発者がなぜそれを使いたいのかを概説します。
また、vtk内の大きなテーマについても言及し、関連するトピックにリンクする必要があります。 vtkのドキュメンテーションは新しいものなので、それらの関連トピックの初期バージョンを作成する必要があります。
インストールまたはセットアップ
Windows 7でのビルドとインストール
前提条件
- 最新のソースからVTKをビルドしたい場合は、 ここからgitが必要です。また、zipとしてコードのスナップショットをダウンロードし、ディスクドライブに解凍することもできます
- CMake
- Microsoft Visual Studio 2015
- たくさんの空き容量 - 安全な場所に置くには少なくとも数GBの容量が必要です
準備をする
- 私は物事をきれいに保つのが好きで、私は通常3つのフォルダを作成します。
c:\vtk #
c:\vtk\src # 'code base' folder
c:\vtk\build # 'out of source' build folder
c:\vtk\install # 'install folder' where the 'installed' files will reside
gitメソッドを使用している場合は、
- コマンドプロンプトを開く
- 作業ディレクトリを変更する
cd c:\vtk\src
- gitリポジトリ
git clone https://gitlab.kitware.com/vtk/vtk.git
。インターネットの接続速度によっては時間がかかることがあります - プロキシの背後で作業している場合は、gitを使用して設定する必要があります。それを行う方法については、 この質問を参照してください。
zipメソッドを使用している場合は、ソースコードを
c:\vtk\src
に解凍します
構成
- CMake GUIを起動する
-
Where is the source code:
c:\vtk\src
を選択しWhere is the source code:
-
Where to build the binaries:
c:\vtk\build
を選択しc:\vtk\build
Where to build the binaries:
- 「
Configure
をクリックし、必要なジェネレータとしてVisual Studio 2015
を選択します。 - いくつかの設定オプションが表示されます
- 私は一般的に最小限のビルドのために以下の設定を使用します
-
CMAKE_INSTALL_PREFIX
=c:\vtk\install
-
BUILD_SHARED_LIBS
チェックされました -
BUILD_DOCUMENTATION
unticked -
BUILD_TESTING
unticked -
CMAKE_CXX_MP_FLAG
チェックされました。これにより、すべてのCPUコア(マルチコア/マルチプロセッサシステム上)が使用され、ビルドがスピードアップされます
-
- ヒットを維持するすべての赤いエントリが白くなるまでエラーを修正するように
Configure
- ヒット
Generate
- 閉じるCMake GUI
建物
- 世代が成功した場合は、
- Visual Studioソリューション:
c:\vtk\build\vtk.sln
- プロジェクトファイルの束 -
ALL_BUILD.vcxproj INSTALL.vcxproj vtkCompileTools.vcxproj VTKData.vcxproj ZERO_CHECK.vcxproj
- Visual Studioソリューション:
- これは、コマンドラインからでもIDEを使ってでもビルドできます
- 私はそれが一般的に速く、より少ないRAMを使用するので、コマンドラインを好む
- コマンドラインの使用
-
Developer Command Prompt For Visual Studio 2015
起動する - 作業ディレクトリを変更する:
cd c:\vtk\build
- msbuildを起動する:
- デバッグビルド用
-
msbuild /p:Configuration=Debug ALL_BUILD.vcxproj
-
msbuild /p:Configuration=Debug INSTALL.vcxproj
-
- リリースビルド用
-
msbuild /p:Configuration=Release ALL_BUILD.vcxproj
-
msbuild /p:Configuration=Release INSTALL.vcxproj
-
- デバッグビルド用
-
- IDEの使用
- Visual Studio 2015で
VTK.sln
を開き、INSTALL.vcxproj
をビルドしINSTALL.vcxproj
- この方法は、IDEがソリューションにリストされている各プロジェクトのインテリセンスを構築し始めるため、通常は遅くなります
- Visual Studio 2015で
-
c:\vtk\install
新しいフォルダが追加されるはずです-
bin
#にはdllファイルが含まれています -
lib
#にはlibファイルが含まれています -
cmake
-
share
-
include
#はヘッダファイルが含まれています
-
ビルドの使用
- Visual C ++プロジェクトでVTKを使用するには、
- コンパイラのヘッダーファイルの検索パスに
c:\vtk\include\vtk-<version>
を含めるように設定します。 -
c:\vtk\lib
を含むようにリンカー・ライブラリー・ファイル検索パスを構成します。 - 必要な
.lib
ファイルにリンクするようにリンカーを構成する - 必要なDLLを出力フォルダにコピーする
- コンパイラのヘッダーファイルの検索パスに
- 私はすべての4つのタスク
c:\vtk\vtk.vsprops
を処理するための小さな小道具ファイルをc:\vtk\vtk.vsprops
<?xml version="1.0" encoding="UTF-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<VTK_ROOT_DIR>$(MSBuildThisFileDirectory)</VTK_ROOT_DIR>
<VTK_BIN_DIR>$(VTK_ROOT_DIR)\bin</VTK_BIN_DIR>
<VTK_INC_DIR>$(VTK_ROOT_DIR)\include\vtk-7.0</VTK_INC_DIR>
<VTK_LIB_DIR>$(VTK_ROOT_DIR)\lib</VTK_LIB_DIR>
</PropertyGroup>
<PropertyGroup>
<BuildDependsOn>CopyVTKBinariesList;$(BuildDependsOn);</BuildDependsOn>
</PropertyGroup>
<Target Name="CopyVTKBinariesList">
<ItemGroup>
<VtkBinaries Include="$(VTK_BIN_DIR)\*.dll" />
</ItemGroup>
<Copy SourceFiles="@(VtkBinaries)"
DestinationFiles="@(VtkBinaries->'$(OutDir)\%(RecursiveDir)%(Filename)%(Extension)')"
SkipUnchangedFiles="true" />
</Target>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(VTK_INC_DIR);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(VTK_LIB_DIR);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>vtkalglib-7.0.lib;vtkChartsCore-7.0.lib;vtkCommonColor-7.0.lib;vtkCommonComputationalGeometry-7.0.lib;vtkCommonCore-7.0.lib;vtkCommonDataModel-7.0.lib;vtkCommonExecutionModel-7.0.lib;vtkCommonMath-7.0.lib;vtkCommonMisc-7.0.lib;vtkCommonSystem-7.0.lib;vtkCommonTransforms-7.0.lib;vtkDICOMParser-7.0.lib;vtkDomainsChemistry-7.0.lib;vtkDomainsChemistryOpenGL2-7.0.lib;vtkexoIIc-7.0.lib;vtkexpat-7.0.lib;vtkFiltersAMR-7.0.lib;vtkFiltersCore-7.0.lib;vtkFiltersExtraction-7.0.lib;vtkFiltersFlowPaths-7.0.lib;vtkFiltersGeneral-7.0.lib;vtkFiltersGeneric-7.0.lib;vtkFiltersGeometry-7.0.lib;vtkFiltersHybrid-7.0.lib;vtkFiltersHyperTree-7.0.lib;vtkFiltersImaging-7.0.lib;vtkFiltersModeling-7.0.lib;vtkFiltersParallel-7.0.lib;vtkFiltersParallelImaging-7.0.lib;vtkFiltersProgrammable-7.0.lib;vtkFiltersSelection-7.0.lib;vtkFiltersSMP-7.0.lib;vtkFiltersSources-7.0.lib;vtkFiltersStatistics-7.0.lib;vtkFiltersTexture-7.0.lib;vtkFiltersVerdict-7.0.lib;vtkfreetype-7.0.lib;vtkGeovisCore-7.0.lib;vtkglew-7.0.lib;vtkhdf5-7.0.lib;vtkhdf5_hl-7.0.lib;vtkImagingColor-7.0.lib;vtkImagingCore-7.0.lib;vtkImagingFourier-7.0.lib;vtkImagingGeneral-7.0.lib;vtkImagingHybrid-7.0.lib;vtkImagingMath-7.0.lib;vtkImagingMorphological-7.0.lib;vtkImagingSources-7.0.lib;vtkImagingStatistics-7.0.lib;vtkImagingStencil-7.0.lib;vtkInfovisCore-7.0.lib;vtkInfovisLayout-7.0.lib;vtkInteractionImage-7.0.lib;vtkInteractionStyle-7.0.lib;vtkInteractionWidgets-7.0.lib;vtkIOAMR-7.0.lib;vtkIOCore-7.0.lib;vtkIOEnSight-7.0.lib;vtkIOExodus-7.0.lib;vtkIOExport-7.0.lib;vtkIOGeometry-7.0.lib;vtkIOImage-7.0.lib;vtkIOImport-7.0.lib;vtkIOInfovis-7.0.lib;vtkIOLegacy-7.0.lib;vtkIOLSDyna-7.0.lib;vtkIOMINC-7.0.lib;vtkIOMovie-7.0.lib;vtkIONetCDF-7.0.lib;vtkIOParallel-7.0.lib;vtkIOParallelXML-7.0.lib;vtkIOPLY-7.0.lib;vtkIOSQL-7.0.lib;vtkIOVideo-7.0.lib;vtkIOXML-7.0.lib;vtkIOXMLParser-7.0.lib;vtkjpeg-7.0.lib;vtkjsoncpp-7.0.lib;vtklibxml2-7.0.lib;vtkmetaio-7.0.lib;vtkNetCDF-7.0.lib;vtkNetCDF_cxx-7.0.lib;vtkoggtheora-7.0.lib;vtkParallelCore-7.0.lib;vtkpng-7.0.lib;vtkproj4-7.0.lib;vtkRenderingAnnotation-7.0.lib;vtkRenderingContext2D-7.0.lib;vtkRenderingContextOpenGL2-7.0.lib;vtkRenderingCore-7.0.lib;vtkRenderingFreeType-7.0.lib;vtkRenderingImage-7.0.lib;vtkRenderingLabel-7.0.lib;vtkRenderingLOD-7.0.lib;vtkRenderingOpenGL2-7.0.lib;vtkRenderingVolume-7.0.lib;vtkRenderingVolumeOpenGL2-7.0.lib;vtksqlite-7.0.lib;vtksys-7.0.lib;vtktiff-7.0.lib;vtkverdict-7.0.lib;vtkViewsContext2D-7.0.lib;vtkViewsCore-7.0.lib;vtkViewsGeovis-7.0.lib;vtkViewsInfovis-7.0.lib;vtkzlib-7.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup />
</Project>
上記のvspropsファイルは、使用可能なすべてのdllを
c:\vtk\bin
フォルダにコピーします。DLLを見つけることができるかどうかを確認する別の方法は、デバッグセッションにPATH環境変数を変更し、VTKバイナリパスを依存関係を読み込むときに最初に検索するディレクトリにすることです。これを行うには、以下のフラグメントを
CopyVTKBinariesList
タスクの代わりに使用することができます。<PropertyGroup> <LocalDebuggerEnvironment>PATH=$(VTK_BIN_DIR);%PATH%;$(LocalDebuggerEnvironment)</LocalDebuggerEnvironment> </PropertyGroup>
最終的な展開のために、 依存関係ウォーカーのようなツールを使用して、どのDLLとそれらの依存関係が使用されているかを追跡し、再配布用のものだけをバンドルすることができます。
Visual C ++プロジェクトでpropsファイルを使用するには、Visual Studioでプロパティマネージャツール(メニュー:表示=>プロパティマネージャ)を使用するか、vcxprojをテキストエディタで編集し、次の行を追加します。
<Import Project="C:\vtk\vtk.vsprops" />
他のプロジェクトインポートの下に<Import Project="C:\vtk\vtk.vsprops" />
します。
清掃
- ディスクスペースを回復したい場合は、
c:\vtk\build
フォルダを削除できますが、vtkにデバッグできないという欠点があります
アンインストール
- もうVTKにしたくない場合は、単に
c:\vtk
フォルダを削除してください
MacOSXとUnix:
- CMakeの最新バージョンをここにインストールしてください
- ここで最新のVTKをダウンロードしてください 。
- VTKのビルドディレクトリを作成する
mkdir <path_to_build_directory
-
ccmake <path_to_VTK_directory -G "UNIX Makefiles" \ -DVTK_USE_QVTK:BOOL=ON \ -DVTK_USE_CARBON:BOOL=ON \ -DCMAKE_INSTALL_PREFIX=/usr/local \ -DVTK_USE_GUISUPPORT:BOOL=ON
またはGUIを使用してccmake <path_to_VTK_directory
- ビルドディレクトリに取得し、使用
make -j
あなたが使用する必要はありません(-j
が、コンパイルは本当に長いです。 - 最後に
make install
使用make install
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow