链接器抱怨在使用 PCL 时缺少 vtkCommon
Linker complains about missing vtkCommon when using PCL
我尝试在 macOS 10.13.5 unsing 自制软件上进行 pcl 设置 运行。
我尝试使用 brew install pcl
和 brew install --build-from-source pcl
这两种技术来安装 pcl
作为依赖项 vtk
(8.1.1) 是自动安装的,我可以看到这些库安装在 /usr/local
中。
但是在链接阶段我得到以下错误:
ld: library not found for -lvtkCommon
clang: error: linker command failed with exit code 1 (use -v to see invocation)
如果我检查已安装库的列表,我可以验证没有 vtkCommon
只有 vtkCommonCore
在 CMake 中,我使用以下行来包含 PCL,vtkCommon
出现在 ${PCL_LIBRARIES}
变量中。
find_package(PCL REQUIRED COMPONENTS filters surface kdtree features segmentation)
list(APPEND include_directories ${PCL_INCLUDE_DIRS})
list(APPEND used_libraries ${PCL_LIBRARIES})
有谁知道为什么会发生这种情况以及如何解决?
正如@Tsyvarev 所提到的,问题是不匹配 PCLConfig.cmake
与正确的 PCLConfig.cmake
并存,删除不正确的就解决了问题。
我尝试在 macOS 10.13.5 unsing 自制软件上进行 pcl 设置 运行。
我尝试使用 brew install pcl
和 brew install --build-from-source pcl
作为依赖项 vtk
(8.1.1) 是自动安装的,我可以看到这些库安装在 /usr/local
中。
但是在链接阶段我得到以下错误:
ld: library not found for -lvtkCommon
clang: error: linker command failed with exit code 1 (use -v to see invocation)
如果我检查已安装库的列表,我可以验证没有 vtkCommon
只有 vtkCommonCore
在 CMake 中,我使用以下行来包含 PCL,vtkCommon
出现在 ${PCL_LIBRARIES}
变量中。
find_package(PCL REQUIRED COMPONENTS filters surface kdtree features segmentation)
list(APPEND include_directories ${PCL_INCLUDE_DIRS})
list(APPEND used_libraries ${PCL_LIBRARIES})
有谁知道为什么会发生这种情况以及如何解决?
正如@Tsyvarev 所提到的,问题是不匹配 PCLConfig.cmake
与正确的 PCLConfig.cmake
并存,删除不正确的就解决了问题。