如何在OSX 10.8上安装带有Cocoa/XCode支持的VTK 6.1?

8

非常有帮助的指南发布在http://www.vtk.org/Wiki/Cocoa_VTK,通过Sean McBride和Mike Jackson在VTK repo中的自述文件也提供了一些帮助,但对于VTK 6.1略微过时。因此,如果这能帮到任何人,我正在发布在OSX 10.8上安装支持SimpleCocoaVTK Xcode项目的VTK 6.1的说明。


你也可以使用Homebrew来安装VTK。 - nalyd88
4个回答

13

* 在OSX 10.8上安装带Cocoa支持的VTK 6.1 *

这些说明是对Ryan Glover在http://www.vtk.org/Wiki/Cocoa_VTK和Sean McBride以及Mike Jackson在VTK/Examples/GUI/Cocoa/Documentation文件夹中的README.rtf的略微修改。

  1. 将VTK git repo克隆到您选择的目录中:

    cd /Users/you/

    git clone https://github.com/Kitware/VTK.git

    cd VTK

    git checkout tags/v6.1.0

  2. 创建一个build目录

    mkdir VTKBuild

    cd VTKBuild

  3. 运行VTK cmake脚本

    • 现在你在/Users/you/VTK/VTKBuild里面,从这里运行cmake(使用父目录的CMake文件):

    cmake ..

  4. 编辑新生成的CMakeCache.txt中的许多行(在当前VTKBuild目录中)。我遇到的一个问题是,如果不使用CMAKE_INSTALL_PREFIX的完整路径,就会有错误。因此,请确保使用"/Users/you/"而不是"~":

    CMAKE_INSTALL_PREFIX:PATH=/Users/you/VTK/VTKBuild

    BUILD_SHARED_LIBS:BOOL=OFF

    CMAKE_BUILD_TYPE:STRING=Debug

    VTK_USE_SYSTEM_ZLIB:BOOL=ON

    CMAKE_OSX_ARCHITECTURES:STRING=i386;x86_64

CMAKE_OSX_SYSROOT:STRING=/Applications/XCode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk

  • 编译VTK项目(可能需要超过一个小时的时间运行!):

    make

  • 复制头文件到include目录:

    make install

  • VTK现在应该已经完全安装在VTKBuild目录中,并准备在XCode项目中使用!

  • 打开Finder,导航到Users/you/VTK/Examples/GUI/Cocoa/,并双击打开SimpleCocoaVTK.xcodeproj文件。

  • 在XCode菜单栏(屏幕顶部)中,前往Preferences->Locations->Source Trees,并使用“+”按钮添加两个源树:

    vtk-debug-include vtk-debug-include Users/you/VTK/VTKBuild/include/vtk-6.1

    vtk-debug-lib vtk-debug-lib Users/you/VTK/VTKBuild/lib

  • 点击XCode项目并删除所有与vtk 6.0有关的引用:

    • 在项目视图中,选择Targets->SimpleCocoaVTK,然后按下“Build Phases”,然后打开“Link Binary With Libraries”。删除所有以“libvtk”开头且以“6.0.a”结尾的文件。

    • 在SimpleCocoaVTK项目的文件视图中,高亮显示并删除vtk-libraries文件夹中的所有文件。

  • 确保XCode文件视图处于活动状态。然后在Finder中导航到/Users/you/VTK/VTKBuild/lib,并选择所有以“libvtk”开头且以“6.1.a”结尾的文件。将这些文件拖入XCode文件视图中的“vtk-libraries”文件夹中。

  • 在XCode中,进行Product->Clean操作

  • 现在您可以构建并运行示例SimpleCocoaVTK项目。


  • 在第一步中,必须使用 git clone git://github.com/Kitware/VTK.git 才能使下载正常工作。 - user3526034
    与其他地方找到的一些指令相反,不要使用系统libtiff选项。(换句话说,这里的指令是正确的。) - Translunar
    @Angus Forbes 谢谢您提供的信息。虽然我晚了一年,但我希望我能寻求帮助。我的大学课程需要 VTK 5.0.4。我似乎卡在了您的第三步。我尝试在 /VTK/VTKBuild/VTK/CMake//VTK 目录中运行 cmake,但什么也没有发生。我甚至收到了一条消息:command not found: cmake。任何想法都将不胜感激。 - Beast_Code
    1
    对于那些在make过程中遇到HDF5错误的人,请使用CMAKE_OSX_ARCHITECTURES:STRING=x86_64 - Oneiros

    1
    这取决于您在计算机上使用的用户以及与该用户相关的权限。我在CMakeCache.txt文件中执行了查找和替换操作,并将所有/usr/local引用更改为/Users/myusername/Develop/VTKInstall。这样,一切都在您的指尖之间,您不必更改权限。
    打开Cocoa示例时,请确保在偏好设置中设置这些路径(例如,Preferences->Locations->Source Trees)。此外,您还需要重新导入vtk库到项目中。
    我正在运行带有XCode 6.1.1的Yosemite。我希望这能帮助某些人!

    1
    我还需要在CMakeCache.txt中设置VTK_WRAP_PYTHON:BOOL=ON。

    0

    如果您在尝试构建VTK时遇到以下错误消息:

    @error: garbage collection is no longer supported

    make[2]: *** Rendering/OpenGL/CMakeFiles/vtkRenderingOpenGL.dir/vtkCocoaRenderWindowInteractor.mm.o] Error 1

    make1: *** [[Rendering/OpenGL/CMakeFiles/vtkRenderingOpenGL.dir/all] Error 2

    您需要在源CMakeLists.txt中删除一个标志:

    @IF(APPLE)
     SET(VTK_OBJCXX_FLAGS_DEFAULT "-fobjc-gc")
     SET(VTK_REQUIRED_OBJCXX_FLAGS ${VTK_OBJCXX_FLAGS_DEFAULT} CACHE STRING "Extra flags for Objective-C++ compilation")
    MARK_AS_ADVANCED(VTK_REQUIRED_OBJCXX_FLAGS)
    ENDIF(APPLE)@
    

    要么注释掉它,要么完全删除它。然后在一个空的构建目录中再次运行cmake。检查您的构建目录中生成的CMakeCache.txt文件是否包含像VTK_REQUIRED_OBJCXX_FLAGS这样的键,如果没有,请尝试在空的构建目录中再次运行cmake

    这个“错误”可能会在未来的VTK版本中得到修复。

    来源:[已解决]构建Qt 5.2.1 + VTK 6.1.0 + CMake 2.8.12.2


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接