vtk ट्यूटोरियल
शुरुआत vtk से हो रही है
खोज…
टिप्पणियों
यह खंड क्या vtk है की एक सिंहावलोकन प्रदान करता है, और क्यों एक डेवलपर इसका उपयोग करना चाह सकता है।
यह vtk के भीतर किसी भी बड़े विषयों का उल्लेख करना चाहिए, और संबंधित विषयों के लिए लिंक करना चाहिए। चूंकि vtk के लिए प्रलेखन नया है, इसलिए आपको उन संबंधित विषयों के प्रारंभिक संस्करण बनाने की आवश्यकता हो सकती है।
स्थापना या सेटअप
विंडोज 7 पर बिल्डिंग और इंस्टॉलेशन
आवश्यक शर्तें
- यदि आप नवीनतम स्रोतों से वीटीके का निर्माण करना चाहते हैं, तो आपको यहां से गिट की आवश्यकता है या आप ज़िप के रूप में कोड का एक स्नैपशॉट डाउनलोड कर सकते हैं और अपने डिस्क ड्राइव पर अनज़िप कर सकते हैं।
- CMake
- Microsoft Visual Studio 2015
- मुक्त स्थान से भरपूर - कम से कम सुरक्षित होने के लिए जीबी के एक जोड़े को कम से कम, जो आप सभी का निर्माण करना चाहते हैं पर निर्भर करता है
तैयार होना
- मैं चीजों को साफ रखना पसंद करता हूं इसलिए मैं आमतौर पर 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
यदि गिट विधि का उपयोग कर,
- कमांड प्रॉम्प्ट खोलें
- कार्यशील निर्देशिका
cd c:\vtk\src
- क्लोन रिपॉजिटरी
git clone https://gitlab.kitware.com/vtk/vtk.git
। आपके इंटरनेट कनेक्शन की गति के आधार पर इसमें कुछ समय लग सकता है - यदि आप एक प्रॉक्सी के पीछे काम कर रहे हैं, तो आपको इसका उपयोग करने के लिए गिट सेटअप करना होगा। यह प्रश्न देखें कि यह कैसे करना है।
यदि ज़िप विधि का उपयोग कर रहे हैं, तो स्रोत कोड को
c:\vtk\src
में अनज़िप करें
विन्यास
- CMake GUI लॉन्च करें
-
Where is the source code:
c:\vtk\src
चुनें -
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
-
BUILD_TESTING
-
CMAKE_CXX_MP_FLAG
टिक हो गया। यह बिल्ड को तेज करने के लिए सभी CPU कोर (मल्टीकोर / मल्टीप्रोसेसर सिस्टम पर) का उपयोग करेगा
-
- जब तक सभी RED प्रविष्टियां नहीं हो जातीं, तब तक किसी भी त्रुटि को ठीक करते हुए
Configure
करना जारी रखें - हिट
Generate
- बंद करें सीएमके जीयूआई
इमारत
- अगर पीढ़ी सफल रही तो वहां होना चाहिए
- एक दृश्य स्टूडियो समाधान:
c:\vtk\build\vtk.sln
- परियोजना फाइलों का एक गुच्छा -
ALL_BUILD.vcxproj INSTALL.vcxproj vtkCompileTools.vcxproj VTKData.vcxproj ZERO_CHECK.vcxproj
- एक दृश्य स्टूडियो समाधान:
- आप इसे कमांड लाइन से या IDE का उपयोग करके बना सकते हैं
- मैं कमांड लाइन पसंद करता हूं क्योंकि यह आम तौर पर तेज होता है और कम रैम का उपयोग करता है
- कमांड लाइन का उपयोग करना
-
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
-
- डीबग बनाता है के लिए
-
- आईडीई का उपयोग करना
- Visual Studio 2015 के साथ
VTK.sln
खोलें औरINSTALL.vcxproj
बनाएँ - यह तकनीक आमतौर पर धीमी होती है क्योंकि आईडीई समाधान में सूचीबद्ध प्रत्येक परियोजना के लिए इंटैलिजेंस का निर्माण शुरू कर देगा
- 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 की प्रतिलिपि बनाएँ
- संकलक हेडर फ़ाइल खोज पथ को
- मैंने सभी चार कार्यों को संभालने के लिए एक छोटी
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 फ़ाइल सभी उपलब्ध dlls को
c:\vtk\bin
फ़ोल्डर में कॉपी करती है।यह सुनिश्चित करने का एक वैकल्पिक तरीका है कि DLL स्थित हो सकता है, डीबगिंग सत्र के लिए PATH पर्यावरण चर को बदलने के लिए उपयोग करें और निर्भरता लोड करते समय खोजे जाने वाले पहले निर्देशिका के रूप में VTK बायनेरिज़ पथ को रखें। नीचे का टुकड़ा ऐसा करने के लिए
CopyVTKBinariesList
कार्य के बजाय हो सकता है।<PropertyGroup> <LocalDebuggerEnvironment>PATH=$(VTK_BIN_DIR);%PATH%;$(LocalDebuggerEnvironment)</LocalDebuggerEnvironment> </PropertyGroup>
अंतिम तैनाती के लिए आप डिपेंडेंसी वॉकर जैसे टूल का उपयोग कर सकते हैं ताकि यह पता लगाया जा सके कि कौन सी डीएल और उनकी निर्भरता का उपयोग किया जाता है और केवल पुनर्वितरण के लिए उन लोगों को ही बंडल किया जाता है।
Visual C ++ प्रोजेक्ट में प्रॉपर फ़ाइल का उपयोग करने के लिए आप या तो Visual Studio (मेनू: व्यू = प्रॉपर्टी मैनेजर) के भीतर प्रॉपर्टी मैनेजर टूल का उपयोग कर सकते हैं या टेक्स्ट एडिटर का उपयोग करके vcxproj को एडिट कर सकते हैं और इस निम्नलिखित लाइन को जोड़ सकते हैं
<Import Project="C:\vtk\vtk.vsprops" />
अन्य प्रोजेक्ट आयात से नीचे<Import Project="C:\vtk\vtk.vsprops" />
।
सफाई करना
- यदि आप कुछ डिस्क स्थान को पुनर्प्राप्त करना चाहते हैं, तो आप
c:\vtk\build
फ़ोल्डर को हटा सकते हैं लेकिन नकारात्मक पक्ष यह है कि आप vtk में डीबग नहीं कर सकते
विस्थापना
- यदि आप
c:\vtk
को अब और नहीं चाहते हैं तो बसc:\vtk
फ़ोल्डर को हटा दें
MacOSX और यूनिक्स:
- यहाँ उपलब्ध CMake के नवीनतम संस्करण को स्थापित करें
- यहां नवीनतम वीटीके डाउनलोड करें ।
- 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
या जीयूआई का उपयोग के साथ ऐसा करने के लिएccmake <path_to_VTK_directory
- बिल्ड डायरेक्टरी में जाएं और
make -j
उपयोग करें (आपको-j
का उपयोग नहीं करना है लेकिन संकलन वास्तव में लंबा है। - अंत में उपयोग
make install