1.1.2VTK能做什么
略
略
略
步骤一:创建目录A: D:\VTK\example\Chap01
步骤二:在目录A中创建txt文件:CMakeLists.txt,内容为
CMAKE_MINIMUM_REQUIRED(VERSION 3.13.4)
PROJECT(Chap01)
FIND_PACKAGE(VTK REQUIRED)
INCLUDE(${VTK_USE_FILE})
ADD_EXECUTABLE(1.3_TestVTKInstall 1.3_TestVTKInstall.cpp)
TARGET_LINK_LIBRARIES(1.3_TestVTKInstall ${VTK_LIBRARIES} )
详解:
1.CMAKE_MINIMUM_REQUIRED 该命令用于指定构建工程时所需要的CMake版本要求。
CMAKE_MINIMUM_REQUIRED(VERSION 3.13.4)
a.该命令指定工程名称,可指定工程支持的语言,默认C\C++。
b.两个隐含的CMake变量
c.预定义PROJECT_BINARY_DIR(工程编译路径)和PROJECT_SOURCE_DIR(工程源码路径)
d.隐含变量:PROJECT_NAME.
e.CMake获取变量值"${变量}"
a.参数[REQUIRED]表示所要搜索的外部工程对本工程来说是必需的,如果没有搜索到,CMake会终止整个工程构建过程。
b.FIND_PACKAGE(VTK REQUIRED)命令就是搜索VTK的配置文件VTKConfig.cmake
该命令就是包含UseVTK.cmake文件
5.ADD_EXECUTABLE(1.3_TestVTKInstall 1.3_TestVTKInstall.cpp)
6.TARGET_LINK_LIBRARIES(1.3_TestVTKInstall ${VTK_LIBRARIES} )
a.未找到vtkRendering.lib和vtkCommon.lib,应该和VTK版本有关,使用${VTK_LIBRARIES}代替
b.VTKConfig.cmake设置了VTK_LIBRARIES变量,包含了所有库文件,这样就不需要一一列出了
步骤二:在目录A中创建cpp文件:1.3_TestVTKInstall.cpp,内容为
#include
#include
int main(){
vtkSmartPointer renWin = vtkSmartPointer::New();
renWin->Render();
std::cin.get();
return 0;
}
详解:
注意:VTK中的类,构造函数都定义为保护成员,所以无法直接实例化,可以调用::New()方法来实例化类,如果没有使用智能指针,需要手动调用Delete()来释放内存。
步骤三:使用CMake软件,配置生成VS工程
打开CMake软件,输入如下红框内容,点击Configure:
我安装的是VS2015,所以选择,如下,点击finish
出现如下错误,我需要指明qt camke路径
选择Qt路径,如下,再次点击configure:
配置成功,点击Generate
生成成功,点击Open project
打开工程如下图:
步骤四:配置编译运行VS工程
直接编译运行1.3_TestVTKInstall项目
,
会出现如下问题
原因:无法找到对应的dll。解决方法:右键项目->属性->调试,将环境值设置为:PATH=C:\Program Files\VTK\bin;%PATH%,如下图
再次编译运行项目1.3_TestVTKInstall成功,如下图
注意:C:\Program Files\VTK\bin是Release模式的dll ,项目也应该选择Release模式,如下图。如需Debug版本,可将C:\Program Files\VTK\bin路径换为类似 D:\VTK\VTK-bin\bin\Debug。版本要对应。