最近我一直试图为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
)
答案 0 :(得分:0)
这不是显而易见的,但您应该只能将库添加到Main
定义的add_paraview_plugin
目标
target_link_libraries(Main vxl)
或任何库名称。