8

发布在http://www.vtk.org/Wiki/Cocoa_VTK以及通过 Sean McBride 和 Mike Jackson 在 VTK 存储库中的自述文件中发布的非常有用的指南对于 VTK 6.1 来说有点过时了。因此,如果这对任何人都有帮助,我将发布在 OSX 10.8 上安装 VTK 6.1 的说明,并支持 SimpleCocoaVTK Xcode 项目。

4

4 回答 4

13

* 为支持 Cocoa 的 OSX 10.8 安装 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 /用户/你/

    git 克隆https://github.com/Kitware/VTK.git

    cd VTK

    git 结帐标签/v6.1.0

  2. 创建一个构建目录

    mkdir VTKBuild

    cd VTKBuild

  3. 运行 VTK cmake 脚本

    • 您现在将在 /Users/you/VTK/VTKBuild 中,从此处运行 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=调试

    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

  5. 编译 VTK 项目(这可能需要一个多小时才能运行!):

    制作

  6. 将标头复制到包含目录:

    进行安装

  7. VTK 现在应该已完全安装在 VTKBuild 目录中,并且可以在 XCode 项目中使用!

  8. 转到您的查找器,导航到 Users/you/VTK/Examples/GUI/Cocoa/ 并双击以在 XCode 中打开 SimpleCocoaVTK.xcodeproj。

  9. 在 XCode 菜单栏中(在屏幕顶部)转到 Preferences->Locations->Source Trees 并使用 + 按钮添加两个源代码树:

    vtk-debug-include vtk-debug-include 用户/you/VTK/VTKBuild/include/vtk-6.1

    vtk-debug-lib vtk-debug-lib 用户/you/VTK/VTKBuild/lib

  10. 点击 XCode 项目并删除所有对 vtk 6.0 的引用:

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

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

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

  12. 在 XCode 中,执行 Product->Clean

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

于 2013-06-26T19:54:27.060 回答
1

我还必须设置

VTK_WRAP_PYTHON:BOOL=ON

在 CMakeCache.txt

于 2014-10-06T04:56:55.497 回答
1

这取决于您在您的机器(计算机)上也是什么用户以及与该用户相关的权限。我对 CMakeCache.txt 文件进行了查找和替换,并将所有 /usr/local 引用更改为 /Users/myusername/Develop/VTKInstall。这样一来,一切都在您的指尖,您不必更改对事物的权限。

当您打开 Cocoa 示例时,请确保在您的首选项中设置这些路径(例如 Preferences->Locations->Source Trees)。此外,您需要将 vtk 库重新导入项目。

我正在使用 XCode 6.1.1 运行 Yosemite。我希望这可以帮助别人!

于 2015-02-20T00:00:10.367 回答
0

如果您在尝试构建 VTK 时收到这样的错误消息:

@error:不再支持垃圾收集

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

制作1:*** [[Rendering/OpenGL/CMakeFiles/vtkRenderingOpenGL.dir/all] 错误 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

于 2015-10-05T15:38:27.167 回答