发布在http://www.vtk.org/Wiki/Cocoa_VTK以及通过 Sean McBride 和 Mike Jackson 在 VTK 存储库中的自述文件中发布的非常有用的指南对于 VTK 6.1 来说有点过时了。因此,如果这对任何人都有帮助,我将发布在 OSX 10.8 上安装 VTK 6.1 的说明,并支持 SimpleCocoaVTK Xcode 项目。
4 回答
* 为支持 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。
将 VTK git repo 克隆到您选择的目录中:
cd /用户/你/
git 克隆https://github.com/Kitware/VTK.git
cd VTK
git 结帐标签/v6.1.0
创建一个构建目录
mkdir VTKBuild
cd VTKBuild
运行 VTK cmake 脚本
- 您现在将在 /Users/you/VTK/VTKBuild 中,从此处运行 cmake(使用父目录的 CMake 文件):
制作..
在新生成的 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
编译 VTK 项目(这可能需要一个多小时才能运行!):
制作
将标头复制到包含目录:
进行安装
VTK 现在应该已完全安装在 VTKBuild 目录中,并且可以在 XCode 项目中使用!
转到您的查找器,导航到 Users/you/VTK/Examples/GUI/Cocoa/ 并双击以在 XCode 中打开 SimpleCocoaVTK.xcodeproj。
在 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
点击 XCode 项目并删除所有对 vtk 6.0 的引用:
在项目视图中,选择 Targets->SimpleCocoaVTK,然后按“Build Phases”,然后打开“Link Binary With Libraries”。删除所有以“libvtk”开头并以“6.0.a”结尾的文件
在 SimpleCocoaVTK 项目的文件视图中,突出显示并删除 vtk-libraries 文件夹中的所有文件。
确保 XCode 文件视图处于活动状态。然后在查找器中,导航到 /Users/you/VTK/VTKBuild/lib,然后选择所有以“libvtk”开头并以“6.1.a”结尾的文件。将这些文件拖到 XCode 文件视图中的文件夹“vtk-libraries”中。
在 XCode 中,执行 Product->Clean
您现在可以构建并运行示例 SimpleCocoaVTK 项目。
我还必须设置
VTK_WRAP_PYTHON:BOOL=ON
在 CMakeCache.txt
这取决于您在您的机器(计算机)上也是什么用户以及与该用户相关的权限。我对 CMakeCache.txt 文件进行了查找和替换,并将所有 /usr/local 引用更改为 /Users/myusername/Develop/VTKInstall。这样一来,一切都在您的指尖,您不必更改对事物的权限。
当您打开 Cocoa 示例时,请确保在您的首选项中设置这些路径(例如 Preferences->Locations->Source Trees)。此外,您需要将 vtk 库重新导入项目。
我正在使用 XCode 6.1.1 运行 Yosemite。我希望这可以帮助别人!
如果您在尝试构建 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 版本中修复。