c++ - Linux 中对静态链接的误解

标签 c++ linux ld

比如说,我正在尝试将我的项目与 pcl-1.8.2 链接起来,也就是说,在 step 中静态链接到 VTK-8.1.0。链接器声称它无法从 vtk 中找到几个符号:

    /usr/local/lib/libpcl_visualization.a(pcl_visualizer.cpp.o): In function `vtkSmartPointer<vtkPointPicker>::New()':
    /usr/local/include/vtk-8.1/vtkSmartPointer.h:155: undefined reference to `vtkPointPicker::New()'
    /usr/local/lib/libpcl_visualization.a(pcl_visualizer.cpp.o): In function `vtkSmartPointer<vtkAxesActor>::New()':
    /usr/local/include/vtk-8.1/vtkSmartPointer.h:155: undefined reference to `vtkAxesActor::New()'
    /usr/local/lib/libpcl_visualization.a(pcl_visualizer.cpp.o): In function `vtkSmartPointer<vtkOrientationMarkerWidget>::New()':
    /usr/local/include/vtk-8.1/vtkSmartPointer.h:155: undefined reference to `vtkOrientationMarkerWidget::New()
.....
Some more unresolved VTK Symbols

但是,这些符号存在于VTK中

/local/lib/libvtkRenderingCore-8.1.a
vtkPointPicker.cxx.o:
0000000000001b61 t _GLOBAL__sub_I__ZN14vtkPointPicker3NewEv
0000000000000000 W _ZN14vtkPointPicker10GetPointIdEv
0000000000001a48 T _ZN14vtkPointPicker10InitializeEv
0000000000000000 W _ZN14vtkPointPicker10UseCellsOnEv
0000000000000000 W _ZN14vtkPointPicker11GetUseCellsEv
0000000000000000 W _ZN14vtkPointPicker11SetUseCellsEi
0000000000000000 W _ZN14vtkPointPicker11UseCellsOffEv
000000000000009a T _ZN14vtkPointPicker17IntersectWithLineEPdS0_dP15vtkAssemblyPathP9vtkProp3DP19vtkAbstractMapper3D
000000000000182e T _ZN14vtkPointPicker18UpdateClosestPointEPdS0_S0_ddRdS1_
000000000000134c T _ZN14vtkPointPicker24IntersectDataSetWithLineEPdS0_ddP10vtkDataSetRdS0_
0000000000000000 W _ZN14vtkPointPicker3IsAEPKc
0000000000000000 T _ZN14vtkPointPicker3NewEv
0000000000000000 W _ZN14vtkPointPicker8IsTypeOfEPKc
0000000000001a72 T _ZN14vtkPointPicker9PrintSelfERSo9vtkIndent
0000000000000056 T _ZN14vtkPointPickerC1Ev
0000000000000056 T _ZN14vtkPointPickerC2Ev
0000000000000000 W _ZN14vtkPointPickerD0Ev
0000000000000000 W _ZN14vtkPointPickerD1Ev
0000000000000000 W _ZN14vtkPointPickerD2Ev
0000000000000000 n _ZN14vtkPointPickerD5Ev
0000000000000000 W _ZNK14vtkPointPicker19NewInstanceInternalEv
0000000000000000 W _ZNK14vtkPointPicker20GetClassNameInternalEv
0000000000000000 V _ZTI14vtkPointPicker
0000000000000000 V _ZTS14vtkPointPicker
0000000000000000 V _ZTV14vtkPointPicker|

并且 libvtkRenderingCore-8.1.a 在链接器调用中被提及(make VERBOSE=1)

/usr/bin/c++     -fopenmp -O2 -g -DNDEBUG 
  CMakeFiles/pair_align.dir/main_pair_align.cpp.o
  -o pair_align  
  -L/usr/local/lib
  -L/usr/local/cuda/lib64 
  -rdynamic 
   ../pc_align/libpc_align.a
   -lboost_program_options 
   /usr/local/lib/libpcl_common.a
   /usr/local/lib/libpcl_io.a
  -lpcl_io_ply
   ... /usr/local/lib/libvtkRenderingCore-8.1.a ...

完成转储:

/usr/bin/c++     -fopenmp -O2 -g -DNDEBUG     CMakeFiles/pair_align.dir/main_pair_align.cpp.o  -o pair_align  -L/opt/gm/acc/usr/local/lib  -L/usr/local/cuda/lib64 -rdynamic ../pc_align/libpc_align.a -lboost_program_options /opt/gm/acc/usr/local/lib/libpcl_common.a /opt/gm/acc/usr/local/lib/libpcl_io.a -lpcl_io_ply /opt/gm/acc/usr/local/lib/libvtksys-8.1.a /opt/gm/acc/usr/local/lib/libvtkCommonCore-8.1.a -lpython2.7 /opt/gm/acc/usr/local/lib/libvtkCommonMath-8.1.a /opt/gm/acc/usr/local/lib/libvtkCommonMisc-8.1.a /opt/gm/acc/usr/local/lib/libvtkCommonSystem-8.1.a /opt/gm/acc/usr/local/lib/libvtkCommonTransforms-8.1.a /opt/gm/acc/usr/local/lib/libvtkCommonDataModel-8.1.a /opt/gm/acc/usr/local/lib/libvtkCommonColor-8.1.a /opt/gm/acc/usr/local/lib/libvtkCommonExecutionModel-8.1.a /opt/gm/acc/usr/local/lib/libvtkCommonComputationalGeometry-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersCore-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersGeneral-8.1.a /opt/gm/acc/usr/local/lib/libvtkImagingCore-8.1.a /opt/gm/acc/usr/local/lib/libvtkImagingFourier-8.1.a /opt/gm/acc/usr/local/lib/libvtkalglib-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersStatistics-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersExtraction-8.1.a /opt/gm/acc/usr/local/lib/libvtkInfovisCore-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersGeometry-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersSources-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingCore-8.1.a /opt/gm/acc/usr/local/lib/libvtkzlib-8.1.a /opt/gm/acc/usr/local/lib/libvtkfreetype-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingFreeType-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingContext2D-8.1.a /opt/gm/acc/usr/local/lib/libvtkChartsCore-8.1.a /opt/gm/acc/usr/local/lib/libvtkDICOMParser-8.1.a /opt/gm/acc/usr/local/lib/libvtklz4-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOCore-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOLegacy-8.1.a /opt/gm/acc/usr/local/lib/libvtkexpat-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOXMLParser-8.1.a /opt/gm/acc/usr/local/lib/libvtkDomainsChemistry-8.1.a /opt/gm/acc/usr/local/lib/libvtkglew-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingOpenGL2-8.1.a /opt/gm/acc/usr/local/lib/libvtkDomainsChemistryOpenGL2-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOXML-8.1.a /opt/gm/acc/usr/local/lib/libvtkParallelCore-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersAMR-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersFlowPaths-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersGeneric-8.1.a /opt/gm/acc/usr/local/lib/libvtkImagingSources-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersHybrid-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersHyperTree-8.1.a /opt/gm/acc/usr/local/lib/libvtkImagingGeneral-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersImaging-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersModeling-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersParallel-8.1.a /opt/gm/acc/usr/local/lib/libvtkParallelMPI-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersParallelDIY2-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersParallelFlowPaths-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersParallelGeometry-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersParallelImaging-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersParallelMPI-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersParallelStatistics-8.1.a /opt/gm/acc/usr/local/lib/libvtkverdict-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersVerdict-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersParallelVerdict-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersPoints-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersProgrammable-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersReebGraph-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersSMP-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersSelection-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersTexture-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersTopology-8.1.a /opt/gm/acc/usr/local/lib/libvtkInteractionStyle-8.1.a /opt/gm/acc/usr/local/lib/libvtkGUISupportQt-8.1.a /opt/gm/acc/usr/local/lib/libvtkGUISupportQtOpenGL-8.1.a /opt/gm/acc/usr/local/lib/libvtksqlite-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOSQL-8.1.a /opt/gm/acc/usr/local/lib/libvtkGUISupportQtSQL-8.1.a /opt/gm/acc/usr/local/lib/libvtkmetaio-8.1.a /opt/gm/acc/usr/local/lib/libvtkjpeg-8.1.a /opt/gm/acc/usr/local/lib/libvtkpng-8.1.a /opt/gm/acc/usr/local/lib/libvtktiff-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOImage-8.1.a /opt/gm/acc/usr/local/lib/libvtkImagingHybrid-8.1.a /opt/gm/acc/usr/local/lib/libvtkInfovisLayout-8.1.a /opt/gm/acc/usr/local/lib/libvtkImagingColor-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingAnnotation-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingVolume-8.1.a /opt/gm/acc/usr/local/lib/libvtkInteractionWidgets-8.1.a /opt/gm/acc/usr/local/lib/libvtkViewsCore-8.1.a /opt/gm/acc/usr/local/lib/libvtkproj4-8.1.a /opt/gm/acc/usr/local/lib/libvtkGeovisCore-8.1.a /opt/gm/acc/usr/local/lib/libvtkhdf5_hl-8.1.a /opt/gm/acc/usr/local/lib/libvtkhdf5-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOAMR-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOEnSight-8.1.a /opt/gm/acc/usr/local/lib/libvtkNetCDF-8.1.a /opt/gm/acc/usr/local/lib/libvtkexoIIc-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOExodus-8.1.a /opt/gm/acc/usr/local/lib/libvtkgl2ps-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingGL2PSOpenGL2-8.1.a /opt/gm/acc/usr/local/lib/libvtklibharu-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOExport-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOExportOpenGL2-8.1.a /opt/gm/acc/usr/local/lib/libvtkjsoncpp-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOGeoJSON-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOGeometry-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOImport-8.1.a /opt/gm/acc/usr/local/lib/libvtklibxml2-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOInfovis-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOLSDyna-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOMINC-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOMPIImage-8.1.a /opt/gm/acc/usr/local/lib/libvtknetcdfcpp-8.1.a /opt/gm/acc/usr/local/lib/libvtkIONetCDF-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOParallel-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOMPIParallel-8.1.a /opt/gm/acc/usr/local/lib/libvtkoggtheora-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOMovie-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOMySQL-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOODBC-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOPLY-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOParallelExodus-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOParallelLSDyna-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOParallelNetCDF-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOParallelXML-8.1.a /opt/gm/acc/usr/local/lib/libvtkxdmf3.a /opt/gm/acc/usr/local/lib/libvtkIOXdmf3-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOParallelXdmf3-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOPostgreSQL-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOSegY-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOTRUCHAS-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOTecplotTable-8.1.a /opt/gm/acc/usr/local/lib/libvtkVPIC-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOVPIC-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOVideo-8.1.a /opt/gm/acc/usr/local/lib/libvtkxdmf2-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOXdmf2-8.1.a /opt/gm/acc/usr/local/lib/libvtkImagingMath-8.1.a /opt/gm/acc/usr/local/lib/libvtkImagingMorphological-8.1.a /opt/gm/acc/usr/local/lib/libvtkImagingOpenGL2-8.1.a /opt/gm/acc/usr/local/lib/libvtkImagingStatistics-8.1.a /opt/gm/acc/usr/local/lib/libvtkImagingStencil-8.1.a /opt/gm/acc/usr/local/lib/libvtkInfovisBoostGraphAlgorithms-8.1.a /opt/gm/acc/usr/local/lib/libvtkInteractionImage-8.1.a /opt/gm/acc/usr/local/lib/libvtkPythonInterpreter-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingContextOpenGL2-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingExternal-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingFreeTypeFontConfig-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingImage-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingLICOpenGL2-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingLOD-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingLabel-8.1.a /opt/gm/acc/usr/local/lib/libvtkWrappingTools-8.1.a /opt/gm/acc/usr/local/lib/libvtkWrappingPython27Core-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingMatplotlib-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingParallel-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingParallelLIC-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingQt-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingSceneGraph-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingVolumeOpenGL2-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingVolumeAMR-8.1.a /opt/gm/acc/usr/local/lib/libvtkViewsContext2D-8.1.a /opt/gm/acc/usr/local/lib/libvtkViewsInfovis-8.1.a /opt/gm/acc/usr/local/lib/libvtkViewsQt-8.1.a /opt/gm/acc/usr/local/lib/libvtkWebGLExporter-8.1.a /opt/gm/acc/usr/local/lib/libvtkWebCore-8.1.a /opt/gm/acc/usr/local/lib/libvtkm_cont-vtk8.1.a /opt/gm/acc/usr/local/lib/libvtkzfp-8.1.a /opt/gm/acc/usr/local/lib/libvtkDomainsChemistry-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersFlowPaths-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersVerdict-8.1.a /opt/gm/acc/usr/local/lib/libvtkverdict-8.1.a /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5.5.1 /usr/lib/x86_64-linux-gnu/libQt5Sql.so.5.5.1 /opt/gm/acc/usr/local/lib/libvtkproj4-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOParallel-8.1.a /opt/gm/acc/usr/local/lib/libvtkjsoncpp-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOGeometry-8.1.a /opt/gm/acc/usr/local/lib/libvtkIONetCDF-8.1.a /opt/gm/acc/usr/local/lib/libvtknetcdfcpp-8.1.a /opt/gm/acc/usr/local/lib/libvtkoggtheora-8.1.a -lmysqlclient -lz -lodbc /opt/gm/acc/usr/local/lib/libvtkIOExodus-8.1.a /opt/gm/acc/usr/local/lib/libvtkexoIIc-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOLSDyna-8.1.a /opt/gm/acc/usr/local/lib/libvtkNetCDF-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOXdmf3-8.1.a /opt/gm/acc/usr/local/lib/libvtkxdmf3.a /opt/gm/acc/usr/local/lib/libXdmfCore.a -ltiff /opt/gm/acc/usr/local/lib/libvtkIOSQL-8.1.a /opt/gm/acc/usr/local/lib/libvtksqlite-8.1.a -lpq /opt/gm/acc/usr/local/lib/libvtkVPIC-8.1.a /opt/gm/acc/usr/local/lib/libvtkxdmf2-8.1.a /opt/gm/acc/usr/local/lib/libvtkhdf5_hl-8.1.a /opt/gm/acc/usr/local/lib/libvtkhdf5-8.1.a /opt/gm/acc/usr/local/lib/libvtklibxml2-8.1.a -lfontconfig /opt/gm/acc/usr/local/lib/libvtkPythonInterpreter-8.1.a /opt/gm/acc/usr/local/lib/libvtkWrappingPython27Core-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersParallel-8.1.a /opt/gm/acc/usr/local/lib/libvtkParallelMPI-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingLICOpenGL2-8.1.a /usr/lib/openmpi/lib/libmpi.so /usr/lib/openmpi/lib/libmpi_cxx.so /usr/lib/openmpi/lib/libmpi.so /usr/lib/openmpi/lib/libmpi_cxx.so /opt/gm/acc/usr/local/lib/libvtkFiltersTexture-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersAMR-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingVolumeOpenGL2-8.1.a /opt/gm/acc/usr/local/lib/libvtkImagingMath-8.1.a /opt/gm/acc/usr/local/lib/libvtkGUISupportQt-8.1.a /usr/lib/x86_64-linux-gnu/libQt5X11Extras.so.5.5.1 /opt/gm/acc/usr/local/lib/libvtkViewsInfovis-8.1.a /opt/gm/acc/usr/local/lib/libvtkChartsCore-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersImaging-8.1.a /opt/gm/acc/usr/local/lib/libvtkInfovisLayout-8.1.a /opt/gm/acc/usr/local/lib/libvtkInfovisCore-8.1.a /opt/gm/acc/usr/local/lib/libvtkViewsCore-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingLabel-8.1.a /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.5.1 /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.5.1 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.5.1 /opt/gm/acc/usr/local/lib/libvtkParallelCore-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOLegacy-8.1.a /opt/gm/acc/usr/local/lib/libvtkWebGLExporter-8.1.a /opt/gm/acc/usr/local/lib/libvtkInteractionWidgets-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersHybrid-8.1.a /opt/gm/acc/usr/local/lib/libvtkImagingGeneral-8.1.a /opt/gm/acc/usr/local/lib/libvtkImagingSources-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersModeling-8.1.a /opt/gm/acc/usr/local/lib/libvtkInteractionStyle-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersExtraction-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersStatistics-8.1.a /opt/gm/acc/usr/local/lib/libvtkImagingFourier-8.1.a /opt/gm/acc/usr/local/lib/libvtkalglib-8.1.a /opt/gm/acc/usr/local/lib/libvtkImagingHybrid-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingAnnotation-8.1.a /opt/gm/acc/usr/local/lib/libvtkImagingColor-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingVolume-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOXML-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOXMLParser-8.1.a /opt/gm/acc/usr/local/lib/libvtkexpat-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOExport-8.1.a /opt/gm/acc/usr/local/lib/libvtkImagingCore-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingContext2D-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingFreeType-8.1.a /opt/gm/acc/usr/local/lib/libvtkfreetype-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOCore-8.1.a /opt/gm/acc/usr/local/lib/libvtklz4-8.1.a /opt/gm/acc/usr/local/lib/libvtkIOImage-8.1.a /opt/gm/acc/usr/local/lib/libvtkDICOMParser-8.1.a /opt/gm/acc/usr/local/lib/libvtkmetaio-8.1.a /opt/gm/acc/usr/local/lib/libvtktiff-8.1.a /opt/gm/acc/usr/local/lib/libvtkjpeg-8.1.a -lm /opt/gm/acc/usr/local/lib/libvtkRenderingGL2PSOpenGL2-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingOpenGL2-8.1.a /opt/gm/acc/usr/local/lib/libvtkRenderingCore-8.1.a /opt/gm/acc/usr/local/lib/libvtkCommonColor-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersGeometry-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersSources-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersGeneral-8.1.a /opt/gm/acc/usr/local/lib/libvtkCommonComputationalGeometry-8.1.a /opt/gm/acc/usr/local/lib/libvtkFiltersCore-8.1.a /opt/gm/acc/usr/local/lib/libvtkCommonExecutionModel-8.1.a /opt/gm/acc/usr/local/lib/libvtkCommonDataModel-8.1.a /opt/gm/acc/usr/local/lib/libvtkCommonMisc-8.1.a /opt/gm/acc/usr/local/lib/libvtkCommonSystem-8.1.a /opt/gm/acc/usr/local/lib/libvtkCommonTransforms-8.1.a /opt/gm/acc/usr/local/lib/libvtkCommonMath-8.1.a /opt/gm/acc/usr/local/lib/libvtkCommonCore-8.1.a /opt/gm/acc/usr/local/lib/libvtksys-8.1.a -ldl /opt/gm/acc/usr/local/lib/libvtkglew-8.1.a -lSM -lICE -lX11 -lXext -lXt /opt/gm/acc/usr/local/lib/libvtkgl2ps-8.1.a /opt/gm/acc/usr/local/lib/libvtklibharu-8.1.a /opt/gm/acc/usr/local/lib/libvtkpng-8.1.a /opt/gm/acc/usr/local/lib/libvtkzlib-8.1.a -lm -lGLU -lGL /opt/gm/acc/usr/local/lib/libvtkm_cont-vtk8.1.a -lm /opt/gm/ceres-solver-1.13.0-build/lib/libceres.a -lglog -lgflags -lspqr -ltbbmalloc -lcholmod -lccolamd -lcamd -lcolamd -lamd -llapack -lblas -lsuitesparseconfig -lrt -lcxsparse -llapack -lblas -lsuitesparseconfig -lrt -lcxsparse -lgomp -lpthread -lboost_system -lboost_filesystem -lboost_thread -lboost_date_time -lboost_iostreams -lboost_serialization -lboost_chrono -lboost_atomic -lboost_regex -lpthread /opt/gm/acc/usr/local/lib/libpcl_octree.a /opt/gm/acc/usr/local/lib/libflann_cpp_s.a /opt/gm/acc/usr/local/lib/libpcl_kdtree.a /opt/gm/acc/usr/local/lib/libpcl_search.a /opt/gm/acc/usr/local/lib/libpcl_sample_consensus.a /opt/gm/acc/usr/local/lib/libpcl_filters.a /opt/gm/acc/usr/local/lib/libpcl_features.a /opt/gm/acc/usr/local/lib/libpcl_ml.a /opt/gm/acc/usr/local/lib/libpcl_segmentation.a /opt/gm/acc/usr/local/lib/libpcl_visualization.a -lqhull /opt/gm/acc/usr/local/lib/libpcl_surface.a /opt/gm/acc/usr/local/lib/libpcl_registration.a /opt/gm/acc/usr/local/lib/libpcl_keypoints.a /opt/gm/acc/usr/local/lib/libpcl_tracking.a /opt/gm/acc/usr/local/lib/libpcl_recognition.a /opt/gm/acc/usr/local/lib/libpcl_stereo.a /opt/gm/acc/usr/local/lib/libpcl_outofcore.a /opt/gm/acc/usr/local/lib/libpcl_gpu_containers.a /opt/gm/acc/usr/local/lib/libpcl_gpu_utils.a /opt/gm/acc/usr/local/lib/libpcl_gpu_octree.a /opt/gm/acc/usr/local/lib/libpcl_gpu_segmentation.a /opt/gm/acc/usr/local/lib/libpcl_gpu_features.a /opt/gm/acc/usr/local/lib/libpcl_cuda_features.a /opt/gm/acc/usr/local/lib/libpcl_cuda_segmentation.a /opt/gm/acc/usr/local/lib/libpcl_cuda_sample_consensus.a /opt/gm/acc/usr/local/lib/libpcl_people.a -lboost_system -lboost_filesystem -lboost_thread -lboost_date_time -lboost_iostreams -lboost_serialization -lboost_chrono -lboost_atomic -lboost_regex -lpthread /opt/gm/acc/usr/local/lib/libpcl_octree.a /opt/gm/acc/usr/local/lib/libflann_cpp_s.a /opt/gm/acc/usr/local/lib/libpcl_kdtree.a /opt/gm/acc/usr/local/lib/libpcl_search.a /opt/gm/acc/usr/local/lib/libpcl_sample_consensus.a /opt/gm/acc/usr/local/lib/libpcl_filters.a /opt/gm/acc/usr/local/lib/libpcl_features.a /opt/gm/acc/usr/local/lib/libpcl_ml.a /opt/gm/acc/usr/local/lib/libpcl_segmentation.a /opt/gm/acc/usr/local/lib/libpcl_visualization.a -lqhull /opt/gm/acc/usr/local/lib/libpcl_surface.a /opt/gm/acc/usr/local/lib/libpcl_registration.a /opt/gm/acc/usr/local/lib/libpcl_keypoints.a /opt/gm/acc/usr/local/lib/libpcl_tracking.a /opt/gm/acc/usr/local/lib/libpcl_recognition.a /opt/gm/acc/usr/local/lib/libpcl_stereo.a /opt/gm/acc/usr/local/lib/libpcl_outofcore.a /opt/gm/acc/usr/local/lib/libpcl_gpu_containers.a /opt/gm/acc/usr/local/lib/libpcl_gpu_utils.a /opt/gm/acc/usr/local/lib/libpcl_gpu_octree.a /opt/gm/acc/usr/local/lib/libpcl_gpu_segmentation.a /opt/gm/acc/usr/local/lib/libpcl_gpu_features.a /opt/gm/acc/usr/local/lib/libpcl_cuda_features.a /opt/gm/acc/usr/local/lib/libpcl_cuda_segmentation.a /opt/gm/acc/usr/local/lib/libpcl_cuda_sample_consensus.a /opt/gm/acc/usr/local/lib/libpcl_people.a -ltbb /opt/gm/acc/usr/local/lib/libpcl_common.a /opt/gm/acc/usr/local/lib/libpcl_io.a -lpython2.7 -Wl,-rpath,/opt/gm/acc/usr/local/lib:/usr/local/cuda/lib64:/usr/lib/openmpi/lib 

最佳答案

链接时顺序很重要...您需要确保库在其依赖项之前列出

查看您的命令,您在 vtk 库之后列出了 libpcl_visualization - 这意味着它将无法使用它。

关于c++ - Linux 中对静态链接的误解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49195413/

相关文章:

c++ - 声明变量 C++、C++11 时自动使用无效

c++ - 为什么 g++ 不链接我创建的动态库?

python - 为 C 库生成 Python SWIG 绑定(bind)时 undefined symbol

LINUX CP : I need to copy all files from one directory to another without copying any sub-directories

linux - 使用 Cocotron CDT 与 SDL 链接

c++ - 是否可以将处理程序附加到系统计时器?

c++ - 按值与按引用读取 C++ vector

c++ - 如何使用 CMake 对库的私有(private)特性 (TDD) 进行单元测试

linux - 如何在 linux 内核中映射一个文件?

linux - 使用 sed 从给定文件中删除单词