ubuntu18.04编译VTK_8.2.0是出错,在输入sudo make时出错
vtktypelist_create_0 was not declared in this scope
vtktypelist_create_0未在此范围内声明
报错分析:
中文意译就是未在作用域中声明“vtktypelist_create_0”,意思就是你使用这个变量或者函数没被定义。
产生原因:
1.写错变量或者函数名字;
2.忘记定义该变量或函数;
3.使用的变量或函数作用域不正确
解决方法
1.检查这个变量或函数的名字定义书写是否正确,最频繁的错误就是书写错误,大小写(如Path写成path),拼写多了一个字母或者少写字母(如administrator写成adminstrator),单词功力浅或者手快字母顺序错误(如project写成projcet)等等
2.检查是不是忘记定义这个变量或函数,例如你使用了path 字符串变量,但没有定义该变量,需要QString path,或者自己上网查找方法时copy别人的代码段时把别人的变量引了进来忘记修改。
3.检查使用的变量或函数是否在该变量或函数的作用域范围内,例如你现在使用的path实际需要的是全局变量,但你把它定义成了一个局部变量。
你的VTK项目配置似乎没有成功,运行cmake配置项目时,cmake应该会自动生成vtkTypeList_Create_0宏,而你的似乎没有。
https://github.com/Kitware/VTK/blob/master/Common/Core/CMakeLists.txt#L99
你直接运行下面命令试试,注意查看cmake有没有错误输出
cd path/to/vtk/source
cmake .
make
vtktypelist_create_0未在此范围内声明