VTK(1)——编译安装

项目环境:QT+VTK+CMake


本文使用到的文件包有:

  1. visual studio 2013
  2. DXSDK_Jun10
  3. cmake-3.3.2-win32-x86
  4. Qt5.7
  5. qt-vs-addin-1.2.4-opensource
  6. TBB (Thread Building Blocks)
  7. vtk 7.1

1. 安装 visual studio 2013 Community 版本

  1. 下载网址  https://www.visualstudio.com/downloads/download-visual-studio-vs
  2. 选择 visual studio 2013  -> Community 2013
  3. 下载和安装社区默认位置和默认可选功能 (大约要半个小时才能完成)

2. 安装 DXSDK_Jun10

  1. 下载网址  http://www.microsoft.com/en-ca/download/details.aspx?id=6812
  2. 下载 DirectX Software Development Kit (DXSDK_Jun10.exe)

    3. 安装它的默认位置和默认的可选功能

 

3.安装 cmake-3.3.2-win32-x86

  1. 下载网址  https://cmake.org/download/
  2. 下载 cmake-3.3.2-win32-x86.exe

     3.安装在默认位置

扫描二维码关注公众号,回复: 2946972 查看本文章

    4. 选择 ”Add CMake to the system PATH for current user”

4. 安装 Qt5.7

  1. 下载网址  https://download.qt.io/official_releases/qt/ 
  2. 下载  Qt5.7 for Windows 64-bit (vs2013)

     3. 安装

   4.确保选择所有组件

   5.安装完成后,不要打开Qt,只要关闭窗口即可

5. 安装 qt-vs-addin-1.2.4-opensource

  1. 下载网址 https://download.qt.io/official_releases/vsaddin/qt-vs-addin-1.2.4-opensource.exe.mirrorlist
  2. 下载 qt-vs-addin-1.2.4-opensource.exe

    3. 安装它的默认位置和默认的可选功能

6. 安装 TBB (Thread Building Blocks):

  1. 下载网址 https://www.threadingbuildingblocks.org/download
  2. 解压文件
  3. 将“TBB\bin”目录添加到系统环境变量“Path”中

     4. 创建一个名为“TBBROOT”的新系统环境变量,将TBB目录添加到该变量中

7. 设置工作文件夹

  1. 在d:盘下,创建一个名为 “UlabVTK” 的新文件夹;(命名随意,不使用中文字符)
  2. 将 “vtk-7.00” 文件夹移动到 “UlabVTK” 文件夹;
  3. 在vtk文件夹中新建一个文件夹,命名为“aftermake”;

8.使用CMake编译vtk

  1. 下载 vtk 7.1

         1)下载网址  http://www.vtk.org/download/ 

         2)下载最新的 vtk zip file(7.1version)

        3)将文件解压到vtk文件夹

2. 编译 vtk 源码

    1)打开 CMake

    2)设置 “source code” 和 “build the binaries” 的路径

    3)选择生成器Visual Studio 12 2013 Win64

 

   4)点击 “Configure”

   5)完成“配置”后,选择以下选项;

 6)配置后,会出现一些错误。按照图片修改“VTK_QT_VERSION”。

7)然后配置,添加Qt5.7目录

      8)添加TBB(Thread Building Blocks).

      ①找到“VTK_SMP_IMPLEMENTATION_TYPE”,选择TBB选项

      ②然后点击 Configure.

      ③这里还有一些错误,还需要添加TBB的目录。

注意:

a)选择正确的文件来匹配不同的“名称”(TBB_LIBRARY_DEBUG和TBB_LIBRARY_RELEASE)

b)选择intel64和vc12(visual studio 2013)。

④点击 Configure, 添加以下变量地址

TBB_MALLOC_LIBRARY_DEBUG

TBB_MALLOC_LIBRARY_REALEASE  

     TBB_MALLOC_PROXY_LIBRARY_DEBUG

 TBB_MALLOC_PROXY_LIBRARY_RELEASE

以下图片仅提供参考

  9)在“aftermake”目录中,创建一个名为“bin-lib”的文件夹。

       在“CMAKE_INSTALL_PREFIX”的“Name”中填写“bin-lib”的路径,如图所示。

10) 其他 “Name” 是默认的

11)点击configure后,单击“Generate”。

9. 构建 VTK 项目.(此处用VS方式,QT构建方式参考文末)

  1. 启动Visual Studio2013作为管理员模式。

    2.找到“VTK。“aftermake”文件夹中的sln文件,使用visual studio打开它。

 

  3. 选择 debug 模式

 

  4.找到“ALL_BUILD”,右键单击,选择“Build”。

5.找到 “INSTALL”, 右键单击,选择“Build”.

 

6. 当构建完成后,不要关闭窗口。转到之前创建的bin-lib文件夹

在这个文件夹中,您可以找到一些创建的文件夹。创建一个新文件夹“debug”,并将除“debug”之外的所有文件夹放入debug文件夹中。

 

7. 回到Visual Studio,将构建模式更改为“Release”,并再次构建“ALL-BUILD”和“INSTALL”。

8. 再次进入bin-lib文件夹。在这个文件夹中,您可以找到一些刚刚创建的新文件夹。创建一个新的文件夹“Release”,并将所有其他文件夹(除“debug”文件夹外)放入“Release”文件夹中

 

9.到这一步就完成了

在系统环境变量中添加

D:\UlabVTK\aftermake\bin_lib\debug\lib\cmake\vtk-6.3

D:\UlabVTK\aftermake\bin_lib\release\lib\cmake\vtk-6.3

 

 


注:在此过程中遇到的多个问题在这里进行备注

问题一

问题:找不到库文件

① 找不到vkt-dir库

② 找不到其他的.dll文件

场景:用cmake执行vtk示例程序出现找不到库的情况下,我手动将缺少的库添加到了环境变量中,经过多次的重新配置环境发现,是其中的环境变量的值配置有误产生的,此处可以注意两点

解决方式

           ①路径中 \ 的方向

           ②路径是否正确

问题二

1. 问题:cmake文件编译与理解

2. 理解Cmake:cmake是帮我们组织工程文件的,在QT中由qmake帮我们生成的.pro来组织,VS中由.sln来组织。使用cmake组织文件首先需要一个CMakeLists.txt文件,注意需要区分文件名的大小写。(最初接触vtk时这里是最难理解的地方)

Cmake维基百科定义:CMake是个一个开源的跨平台、自动化建构系统,用来管理软体建置的程序,并不相依于某特定编译器。并可支援多层目录、多个应用程式与多个函式库。

3. CMakeLists.txt文件源码:

cmake_minimum_required(VERSION 2.8)

PROJECT(Test)

find_package(VTK REQUIRED)

include(${VTK_USE_FILE})

add_executable(Test MACOSX_BUNDLE Test.cpp )
 
target_link_libraries(Test ${VTK_LIBRARIES})

4. 命令说明:

cmake_minimum_required() : 用于指定构建工程时所需的CMake版本
project(): 用于指定工程名称
find_package(): 用于搜索并加载外部工程,参数[REQUIRED]表示所要搜索的外部工程对本工程来说是必须的,如果没有搜索到,CMake会终止整个工程构建过程。
include() : 指定载入一个文件或者模块,如果指定的是模块,那么将在CMAKE_MODULE_PATH中搜索这个模块并载入
add_executable() : 定义这个工程会生成一个可执行文件,使用变量${PROJECT_NAME}的值来指定即将生成的可执行文件的名字
target_link_libraries(): 指定生成可执行文件时需要链接哪些文件

5. 编译示例(此处仅写出qt方法,vs编译方法参见上面vtk编译过程)

Step1: 编写CMakeLists.txt文件(如上)

Step2: 在Qt中打开示例的CMakeLists.txt文件

Step3: 右键点击项目工程,弹出的下拉列表中选择执行CMake

Step4: 构建项目

Step5: 运行项目


附VTK相关示例下载地址:

链接: https://pan.baidu.com/s/1ndc24lxgbx0OQ6EoBwj83Q 密码: 3ap6

猜你喜欢

转载自blog.csdn.net/Jecklin_online/article/details/82150752
今日推荐