Ubuntu18安装VTK8.2 sudo make时make: *** 没有指明目标并且找不到 makefile。 停止。
时间: 2023-08-13 14:04:45 浏览: 760
这个错误通常发生在你尝试在源码目录中执行 make 命令时。在安装 VTK 之前,你需要先构建 Makefile。以下是一些步骤来解决这个问题:
1. 首先,确保你已经正确地下载和解压了 VTK 的源代码。
2. 进入 VTK 的源码目录。
3. 创建一个新的文件夹来构建 VTK。可以使用以下命令:
```
mkdir build
cd build
```
4. 在新创建的 build 文件夹中运行 CMake,以生成 Makefile。可以使用以下命令:
```
cmake ..
```
这将根据你的系统配置和选项生成 Makefile。
5. 在生成的 build 文件夹中执行 make 命令:
```
make
```
这将编译和构建 VTK。
请确保你已经按照上述步骤进行操作,并且在执行 make 命令之前已经成功生成了 Makefile。如果问题仍然存在,请检查是否有其他错误消息或警告出现,并确保你的环境设置正确。
相关问题
ubuntu安装vtk8.2
在Ubuntu上安装VTK(Visualization Toolkit) 8.2版本,可以通过以下步骤进行:
1. 添加VTK软件仓库:
为了获取VTK 8.2,你可能需要添加PPA仓库,因为官方Ubuntu仓库可能不包含最新版本。打开终端并执行以下命令:
```bash
sudo add-apt-repository ppa:beineri/opt-qt562-vtk
sudo apt-get update
```
2. 安装VTK:
接下来,你可以通过Ubuntu的包管理器安装VTK。使用以下命令安装VTK 8.2:
```bash
sudo apt-get install libvtk7-dev
```
请注意,上述命令中的版本号“7”应替换为实际版本号,这取决于PPA中可用的最新版本。如果PPA中有8.2版本,确保使用正确的版本号。
3. 验证安装:
安装完成后,你可以运行以下命令来验证VTK是否正确安装:
```bash
vtkEncodeString --version
```
如果VTK安装正确,该命令将显示已安装的VTK版本信息。
4. 配置开发环境:
在开始开发使用VTK的应用程序之前,你可能还需要设置你的开发环境。如果你使用的是Qt,确保安装了与VTK版本相对应的Qt版本。
请记住,如果你使用的是旧版本的Ubuntu或者不打算使用PPA,可能需要下载VTK源代码并从源代码进行编译安装。
/home/wanhang/pcl-pcl-1.8.1/io/src/vtk_lib_io.cpp:363:14: error: redeclaration of ‘vtkIdType* cell_points’ vtkIdType* cell_points; // 将 cell_points 声明为指向非const的类型 ^~~~~~~~~~~ /home/wanhang/pcl-pcl-1.8.1/io/src/vtk_lib_io.cpp:358:14: note: ‘vtkIdType* cell_points’ previously declared here vtkIdType* cell_points; ^~~~~~~~~~~ /home/wanhang/pcl-pcl-1.8.1/io/src/vtk_lib_io.cpp:365:54: error: cannot bind non-const lvalue reference of type ‘const vtkIdType*&’ {aka ‘const long long int*&’} to an rvalue of type ‘const vtkIdType*’ {aka ‘const long long int*’} while (mesh_polygons->GetNextCell (nr_cell_points, cell_points)) ^~~~~~~~~~~ In file included from /home/wanhang/pcl-pcl-1.8.1/io/include/pcl/io/vtk_lib_io.h:62, from /home/wanhang/pcl-pcl-1.8.1/io/src/vtk_lib_io.cpp:38: /home/wanhang/anaconda3/envs/python38/include/vtk-9.0/vtkCellArray.h:1419:12: note: initializing argument 2 of ‘int vtkCellArray::GetNextCell(vtkIdType&, const vtkIdType*&)’ inline int vtkCellArray::GetNextCell(vtkIdType& npts, vtkIdType const*& pts) VTK_SIZEHINT(pts, npts) ^~~~~~~~~~~~ make[2]: *** [io/CMakeFiles/pcl_io.dir/build.make:328: io/CMakeFiles/pcl_io.dir/src/vtk_lib_io.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:1003: io/CMakeFiles/pcl_io.dir/all] Error 2 make: *** [Makefile:166: all] Error 2
这是一个编译错误,提示vtk_lib_io.cpp文件中有一个变量cell_points被重复声明了,而且在后面的代码中还有一个引用该变量的错误。建议检查一下vtk_lib_io.cpp文件中的变量声明和引用是否正确,特别是是否有重复声明或者未定义的变量。另外,也可以检查一下编译器的版本是否支持vtkCellArray::GetNextCell函数的调用。
阅读全文