【发布时间】:2016-06-28 13:24:37
【问题描述】:
最近我一直在尝试为 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
)
【问题讨论】: