非常有帮助的指南发布在http://www.vtk.org/Wiki/Cocoa_VTK,通过Sean McBride和Mike Jackson在VTK repo中的自述文件也提供了一些帮助,但对于VTK 6.1略微过时。因此,如果这能帮到任何人,我正在发布在OSX 10.8上安装支持SimpleCocoaVTK Xcode项目的VTK 6.1的说明。
非常有帮助的指南发布在http://www.vtk.org/Wiki/Cocoa_VTK,通过Sean McBride和Mike Jackson在VTK repo中的自述文件也提供了一些帮助,但对于VTK 6.1略微过时。因此,如果这能帮到任何人,我正在发布在OSX 10.8上安装支持SimpleCocoaVTK Xcode项目的VTK 6.1的说明。
* 在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的略微修改。
将VTK git repo克隆到您选择的目录中:
cd /Users/you/
git clone https://github.com/Kitware/VTK.git
cd VTK
git checkout tags/v6.1.0
创建一个build目录
mkdir VTKBuild
cd VTKBuild
运行VTK 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=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/VTK/VTKBuild
、/VTK/CMake/
和 /VTK
目录中运行 cmake
,但什么也没有发生。我甚至收到了一条消息:command not found: cmake
。任何想法都将不胜感激。 - Beast_Codemake
过程中遇到HDF5错误的人,请使用CMAKE_OSX_ARCHITECTURES:STRING=x86_64
。 - Oneiros如果您在尝试构建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版本中得到修复。