所以,如果你已经有了一个二进制文件,你可以在rpath的OSX上使用“install_name_tool”,像这样添加到它:
install_name_tool -add_rpath @executable_path/blah
当你建立一个应用程序包的Xcode自动执行此操作。
我知道,在cmake的,你可以使用它来设置共享库的install_name的:
set_target_properties(nshared PROPERTIES BUILD_WITH_INSTALL_RPATH 1 INSTALL_NAME_DIR "@rpath")
我的问题是, 什么是这样做的相当于是rpath添加到二进制?
(对于“?为什么要这么做”你们当中,去看看otool -l任何在你的应用程序/文件夹中的应用程序,你会看到大量的应用程序有相似的条目:
Load command 15
cmd LC_RPATH
cmdsize 36
path @executable_path/../../Frameworks/
这是标准的做法。 我只是试图做它的cmake)