详细图文讲解CMake编译VTK,包含详细的编译环境版本
CMake生成vtk库,文章内有详细的各软件版本信息,若版本对应一次就可成功。
CMake编译VTK过程遇到的问题还挺多,找了很多博客记录才把问题慢慢解决掉。
CMake的问题应该是都处理掉了,编译生成的lib与dll文件有点小问题,在生成ib与dll项目时,
Debug生成失败了一个库,但Release没有缺少。找了很久也没找到原因,因为对个人使用暂时没
什么影响,我就没有再去寻找了,后续遇到再补充吧。
0、编译环境介绍:
工具名称 | 版本 | 下载地址 |
---|---|---|
系统环境 | win 10 | - |
CMake | cmake-3.28.0-rc4-windows-x86_64.msi | https://github.com/Kitware/CMake/releases/tag/v3.28.0-rc4 |
VTK | 9.3.0 (VTK-9.3.0.tar.gz) | https://vtk.org/download/ |
VIsual Studio | 2022 Professional | https://visualstudio.microsoft.com/downloads/ |
vs 2022 pro 激活码:TD244-P4NB7-YQ6XK-Y8MMM-YWV2J
如果github下载CMake访问不了,这里有百度网盘的包
链接:https://pan.baidu.com/s/1UiWdLhWUn7vTkmffF75dRA?pwd=u9mm
提取码:u9mm
1、CMake生成vs项目
1.1、创建文件夹
需先创建三个文件夹,source放置VTK源码、build放置VTK项目生成后的lib与dll文件、vtk_sln 放置VTK工程。
- 文件夹
以我的目录为例,路径如下:
文件夹 | 存放文件 |
---|---|
E:\blog\vtk\source | VTK 源码的解压后的文件 |
E:\blog\vtk\build | VS 生成的 VTK 库,如:include、lib、dll |
E:\blog\vtk\vtk_sln | VTK 源码的工程目录 |
1.2 配置CMake信息
对这一小节的作用,我的理解是用CMake把下载的VTK源码构建成vs的项工程目;设置vs项目生成后lib、dll、include和文件位置。
- 1.2.1 选择vtk源码和生成vtk工程文件的目录。
- 1.2.2 选择自己vs编译平台的版本信息后,点击左下方的Configure。
- 1.2.3 Configure等待中。
- 1.2.4 生成之后会出现一片红色区域,不用着急,后面会多次设置,直到红色全部消失。
- 1.2.5 在search中搜索
BUILD_SHARED_LIBS
,把搜索结果的Value勾选上。
- 1.2.6 继续在search中搜索
VTK_GROUP_ENABLE_QT
,把Value值设置为 “YES”。
- 1.2.7 在search中搜索
CMAKE_INSTALL_PREFIX
,把Value值设置为最后在vtk_sln中生成include、dll、lib的位置。这里以文章1.1中的位置为例是 “E:\blog\vtk\build”
- 1.2.8 设置完后,点击左下角"Configure"一下。
- 1.2.9 等待Configure中。
- 1.2.10 现在第二次Configure之后只有二个是红色了。
- 1.2.11 继续在search中搜索
BUILD_EXAMPLES
,把其Value值勾选上。再次点击左下角Configure编译。
- 1.2.12 在上面点击Configure后,红色区域没有了。现在点击Generate生成vtk的sln项目。
- 1.2.13 Generate中,时间稍稍有点长。
- 1.2.14 Generate完成后,点击Open Project。点击后因为我上之前配置的是vs2022,所以会在vs2022中打开。
2、vs2022pro 生成vtk9.3.0
在上一小节 1.2.14 中,点击Open Project中会自动打开vs2022,因为工程比较大,打开可能会卡死,耐心等待加载完成即可。若卡死了,关闭一些软件释放内存再打开。
2.1、Debug生成
- 2.1.1 项目加载完成后,确保当前是Debug模式,选择 " ALL_BUILD"工程,点击右键 - 生成。这个过程比较长,我用了大概30分钟才生成完。
- 2.1.2 生成的输出信息。
- 2.1.3 Debug生成结束,有284个成功,1失败。原因不知道,目前没有什么影响,暂时不去处理,但Release下是全部正常的。
- 2.1.4 选择项目INSTALL,生成该项目,得到vtk在Debug模式下的lib和dll文件。
- 2.1.5 在文件夹中可看见,已得到debug模式下lib库与dll库。Debug模式下的文件自动在后面加了d。
2.2 、Release生成
Realease下的操作与Debug类似。
- 2.2.1 先对ALL_BUILD生成。
- 2.2.2 Realse下的进度条信息。
- 2.2.3 ALL_BUILD生成结束。285个成功,0失败。
-
2.2.4 对INSTALL生成。
-
2.2.5 release下INSTALL的生成很快 。
- 2.2.6 releas下vtk库的结果。Debug和Release的LIB文件都在一个文件夹中,Debug和Release的DLL设施也都在一个文件夹中,它们的区别就是看文件名后面有无加 “d”,加了就表示Debug模式的库,没有则为Release下的库。
3、使用示例
在另一篇博客已有记录:vs2022 配置 VTK9.3.0
这里有示例生成的include、lib、dll库,需要自取:
链接:https://pan.baidu.com/s/1YBbzsd-MUItY8Pma-mLSxA?pwd=qh57
提取码:qh57
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)