खोज…


टिप्पणियों

यह खंड क्या 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 बनाएँ
    • यह तकनीक आमतौर पर धीमी होती है क्योंकि आईडीई समाधान में सूचीबद्ध प्रत्येक परियोजना के लिए इंटैलिजेंस का निर्माण शुरू कर देगा
  • 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 और यूनिक्स:

  1. यहाँ उपलब्ध CMake के नवीनतम संस्करण को स्थापित करें
  2. यहां नवीनतम वीटीके डाउनलोड करें
  3. VTK mkdir <path_to_build_directory लिए एक बिल्ड निर्देशिका बनाएं
  4. साथ विन्यस्त 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
  5. बिल्ड डायरेक्टरी में जाएं और make -j उपयोग करें (आपको -j का उपयोग नहीं करना है लेकिन संकलन वास्तव में लंबा है।
  6. अंत में उपयोग make install


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow