C++ 在XCode 7.0.1中设置VTK 6.1

C++ 在XCode 7.0.1中设置VTK 6.1,c++,xcode,macos,vtk,osx-elcapitan,C++,Xcode,Macos,Vtk,Osx Elcapitan,因此,我遇到了在MacOSX上工作的问题,特别是在MacOSX上工作的问题 (我让它运行起来,并将在下面发布这个问题的答案) 截至2015年10月的当前设置: MacBook Pro 13“(2015年初)2.7 GHz i5,8GB内存,英特尔虹膜 图形6100(1,5GB) 奥斯卡皮坦酒店 XCode版本7.0.1 VTK版本6.1 我希望这将帮助在OSX上配置和构建VTK以及正确设置XCode以成功构建VTK项目的整个过程中遇到类似问题的每个人。我也希望我不会忘记任何相关内容。如果您有问

因此,我遇到了在MacOSX上工作的问题,特别是在MacOSX上工作的问题

(我让它运行起来,并将在下面发布这个问题的答案)

截至2015年10月的当前设置:

  • MacBook Pro 13“(2015年初)2.7 GHz i5,8GB内存,英特尔虹膜 图形6100(1,5GB)
  • 奥斯卡皮坦酒店
  • XCode版本7.0.1
  • VTK版本6.1

我希望这将帮助在OSX上配置和构建VTK以及正确设置XCode以成功构建VTK项目的整个过程中遇到类似问题的每个人。我也希望我不会忘记任何相关内容。如果您有问题或看到我犯的一些错误,请评论/回答

我将一步一步地完成从构建VTK到设置XCode的整个过程。我做了很多谷歌搜索和尝试不同的事情。我还将尝试提供一些屏幕截图来帮助澄清问题,特别是对于像我这样的XCode新手。就我的记忆和书签而言,我将提供帮助我设置的源代码我也是

下载、构建和安装 这主要包括stackoverflow线程中的步骤:

  • 将VTK源从Github克隆到您选择的目录

    cd/用户/您/

    git克隆

    cd-VTK

    git签出标签/v6.1.0

  • 创建一个生成目录

    mkdir VTKBuild

    cd VTKBuild

    如果您不知道“building”在C/C++环境中的含义,我建议您进一步阅读:

  • 编辑CMakeLists.txt

    在下载的源代码目录(不是/VTKBuild目录)中,应该有一个文件“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()
    
    删除或注释这些行。如果你没有找到它们开始,我认为你应该很好去做,因为这可能会在新版本中修复

    资料来源:

  • 运行cmake脚本

    更改/VTKBuild目录。您现在位于/Users/You/VTK/VTKBuild中

    克马克

  • 编辑cmakcache.txt

    现在我们需要编辑生成的cmakcache.txt(在/VTKBuild目录中)中的几行

    如果您使用与我不同的OS X版本,则最后一个配置行的值可能会有所不同。在my CMakeCache.txt中,它已配置为正确的值

    其他来源:

  • 编译VTK项目

    这可能需要很长时间,您可以通过添加-j来加速此过程( +核心数)参数。这告诉编译器使用多个核心来编译文件,应该可以加快速度。(您仍然在VTKBuild/目录中)

    制造

  • 现在将头文件和库复制到include目录

    安装

    这将在/VTKBuild目录中创建/lib和/include目录。我们稍后将引用它们

    这应该适用于建筑部分。VTK现在已正确安装在您的系统上。

  • 设置XCode项目 资料来源:

    作为一般建议。如果您配置一些路径,请尝试使用绝对路径。特别是当我编写类似“…/VTKBuild”的内容时,请将“…”替换为路径的正确部分

  • 创建新项目

    启动XCODEL并创建新项目(文件->新项目)。选择OS X->应用程序> COMand Load工具。单击“下一步”,命名它,并选择C++作为您的“语言”。选择您的愿望的位置并以“创建”结束。

  • 增加了必要的框架

    在左侧栏中选择您的项目,然后在中间导航到“构建阶段”。这将为您提供以下视图:

    现在展开“用库链接二进制文件”行。在新项目中,该行不应包含任何内容。我们现在需要链接OpenGL、Cocoa和IOKit框架。单击底部的+按钮即可完成此操作。这将打开与某些框架的对话。只需搜索上述框架并单击“添加”

    此外,我们还需要添加zlib库。再次点击+按钮,搜索“libz”。然后添加“lib.tbd”库。有多个版本可用,我只是添加了一个没有版本号的版本。其他版本也可以。到目前为止,它应该是这样的:

    现在我们需要添加VTK库文件。这些文件位于/VTKBuild/lib目录中。它们的名称应该类似于“libvtkXXX.a”。您可以将它们拖放到窗口中,或者像上面步骤中的框架一样,通过文件对话框:+按钮->“添加其他…”->导航到/VTKBuild/lib->使用Shift+Click/Cmd+Click->“打开”选择所有*.a文件。可能需要一段时间,直到它们显示在界面上

  • 配置源目录树

    打开XCode首选项(CMD+,)。在顶部栏中导航到“位置”并选择“源树”。添加两行:

    “名称”-“显示名称”-“路径”

    vtk调试包括vtk调试包括…VTKBuild/include/vtk-6.1

    vtk调试库vtk调试库…VTKBuild/lib

  • 添加搜索路径

    我们现在需要告诉XCode在哪里查找其他头文件(*.h),以便您能够在代码中“包含”它们

    为此,请再次在左侧栏上选择您的项目。导航到“生成设置”并键入筛选器“搜索”。应该有一行名为“搜索路径”,其中包含子行“标题搜索路径”和“库搜索路径”。第一行需要设置为“”…VTKBuild/include/vtk-6.1”,后一行设置为“”…VTKBuild/lib”

  • 定义宏

    如果您完成了上述所有操作。应生成并运行包含VTK头文件的项目。但要正确运行,您可能需要在*.cpp文件上定义两个宏,然后再执行任何#include语句:

    #define vtkRenderingCore_AUTOINIT 4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL)
    #define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL)
    
    没有
    #define vtkRenderingCore_AUTOINIT 4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL)
    #define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL)