C-如何使用可执行的bin脚本来分散第三方lib



我想用cmake分发独立的二进制脚本。

基本上,看起来像:

Folder
  |- bin-script
  |- 3rd
      |- liblib1.so
      |- liblib2.so

我希望用户获取此文件夹后,将其复制到任何地方,然后他可以直接使用bin-script而无需安装任何3 libs,但直接链接到第三文件夹中提供的libs。

我尝试使用

添加链接目录
set_target_properties(${LIB_NAME}-bin PROPERTIES LINK_FLAGS "-L./3rd")

但似乎不起作用。

RPATH包含链接器的搜索路径列表。您可以像其他任何CMAKE列表中添加到它:

if(APPLE)
    list(APPEND CMAKE_INSTALL_RPATH "@executable_path/3rd")
    list(APPEND CMAKE_INSTALL_RPATH "@executable_path/")
elseif(UNIX)
    list(APPEND CMAKE_INSTALL_RPATH "$ORIGIN/3rd")
endif()