【发布时间】:2016-05-19 00:35:49
【问题描述】:
我从源代码安装了 vtk 6.3,我正在尝试使用以下 cmake 编译我的项目:
cmake_minimum_required (VERSION 2.6 FATAL_ERROR)
project (paintsquad)
find_package (Qt5 REQUIRED COMPONENTS Widgets Core)
find_package (VTK 6.3 REQUIRED)
find_package (PCL 1.8.0 REQUIRED)
include_directories (/usr/local/lib)
INCLUDE_DIRECTORIES (${PROJECT_SOURCE_DIR})
include_directories (${PCL_INCLUDE_DIRS})
link_directories (${PCL_LIBRARY_DIRS})
add_definitions (${PCL_DEFINITIONS})
...
QT5_WRAP_CPP (project_HEADERS_MOC ${project_HEADERS})
QT5_WRAP_UI (project_FORMS_HEADERS ${project_FORMS})
ADD_DEFINITIONS (${QT_DEFINITIONS})
ADD_EXECUTABLE (pcl_visualizer ${project_SOURCES}
${project_FORMS_HEADERS}
${project_HEADERS_MOC}
${project_hpp_files})
TARGET_LINK_LIBRARIES (pcl_visualizer ${PCL_LIBRARIES})
qt5_use_modules (pcl_visualizer Widgets)
但我收到了这些链接器错误:
/usr/bin/ld: cannot find -lvtkCommon
/usr/bin/ld: cannot find -lvtkFiltering
/usr/bin/ld: cannot find -lvtkImaging
/usr/bin/ld: cannot find -lvtkGraphics
/usr/bin/ld: cannot find -lvtkGenericFiltering
/usr/bin/ld: cannot find -lvtkIO
/usr/bin/ld: cannot find -lvtkRendering
/usr/bin/ld: cannot find -lvtkVolumeRendering
/usr/bin/ld: cannot find -lvtkHybrid
/usr/bin/ld: cannot find -lvtkWidgets
/usr/bin/ld: cannot find -lvtkInfovis
/usr/bin/ld: cannot find -lvtkGeovis
/usr/bin/ld: cannot find -lvtkViews
/usr/bin/ld: cannot find -lvtkCharts
collect2: error: ld returned 1 exit status
我之前从源代码安装了 vtk 5.8,所以现在我必须安装。 我正在使用 ubuntu 16。
【问题讨论】:
-
我相信库与 vtk-6 不同。
-
我检查了所有的 vtk 6.3 .so 文件都在 /usr/local/lib 中
-
我想我可能不得不在最后使用 vtk 5.8 并用 qt4 编译它。因为我用 vtk 5.8 编译 pcl :/
标签: c++ compilation linker linker-errors vtk