ParaView 插件 CMakeLists.txt 中的链接库

Link library in ParaView plugin CMakeLists.txt

本文关键字:链接 txt 插件 CMakeLists ParaView      更新时间:2023-10-16

最近我一直在尝试为 ParaView 编写一个插件,但在尝试链接外部库时遇到了问题。首先,我必须说编译运行良好,但是我在运行时收到一个错误,说出可怕的词:"符号查找错误......未定义的符号"。

在我加载到 ParaView 中的文件上使用 ldd 时,不会列出此插件所需的任何 vxl 库文件。ParaView 在 CmakeLists.txt 文件中定义了插件的奇怪方式,这就是为什么我很难找到有关如何正确链接此库的信息。

我的CMakeLists.txt现在如下所示:

cmake_minimum_required(VERSION 2.8)
IF (ParaView_SOURCE_DIR)
  INCLUDE_DIRECTORIES(
    ${VTK_INCLUDE_DIRS}
  )
ELSE (ParaView_SOURCE_DIR)
  FIND_PACKAGE(ParaView REQUIRED)
  INCLUDE(${PARAVIEW_USE_FILE})
ENDIF (ParaView_SOURCE_DIR)
FIND_PACKAGE(VXL)
IF(VXL_FOUND)
  INCLUDE(${VXL_CMAKE_DIR}/UseVXL.cmake)
ENDIF(VXL_FOUND)
INCLUDE_DIRECTORIES(${VXLCORE_INCLUDE_DIR})
ADD_PARAVIEW_PLUGIN(Main "0.0"
  SERVER_MANAGER_XML Main.xml
SERVER_MANAGER_SOURCES Main.cxx LSModelFit.cxx 
)

这并不明显,但您应该能够将库添加到 add_paraview_plugin 定义的Main目标

target_link_libraries(Main vxl)

或任何库名称。