Linker 将我的共享库链接到其他库(CMAKE)

Linker 将我的共享库链接到其他库(CMAKE),linker,shared-libraries,cmake,Linker,Shared Libraries,Cmake,我目前正在尝试将我编写的CXX库链接到VTK,这是一个CMake制作的库,最终创建一个共享库,该库具有我的代码功能,可以解析VTK中的符号。我需要共享最终结果,因为我需要在Java运行时调用库 听起来您需要使用target\u link\u库,所以最小的CMake块可能看起来像 find_package(VTK REQUIRED) include(${VTK_USE_FILE}) add_library(mylib SHARED sourcefile.cxx sourcefile2.cxx) t

我目前正在尝试将我编写的CXX库链接到VTK,这是一个CMake制作的库,最终创建一个共享库,该库具有我的代码功能,可以解析VTK中的符号。我需要共享最终结果,因为我需要在Java运行时调用库

听起来您需要使用target\u link\u库,所以最小的CMake块可能看起来像

find_package(VTK REQUIRED) include(${VTK_USE_FILE}) add_library(mylib SHARED sourcefile.cxx sourcefile2.cxx) target_link_libraries(mylib vtkRendering) 查找软件包(需要VTK) 包括(${VTK\u USE\u FILE}) 添加_库(mylib SHARED sourcefile.cxx sourcefile2.cxx) 目标链接库(mylib vtcrendering)
这将添加一个名为mylib(Linux上为libmylib.so)的共享库,该库链接到vtcrendering(可以在此处添加多个库)。查看“cmake--help commands”以获取cmake命令的完整列表。

听起来您需要使用target\u link\u库,因此最小的cmake块可能如下所示:

find_package(VTK REQUIRED) include(${VTK_USE_FILE}) add_library(mylib SHARED sourcefile.cxx sourcefile2.cxx) target_link_libraries(mylib vtkRendering) 查找软件包(需要VTK) 包括(${VTK\u USE\u FILE}) 添加_库(mylib SHARED sourcefile.cxx sourcefile2.cxx) 目标链接库(mylib vtcrendering) 这将添加一个名为mylib(Linux上为libmylib.so)的共享库,该库链接到vtcrendering(可以在此处添加多个库)。有关cmake命令的完整列表,请查看“cmake--帮助命令”