使用相对路径安装库以使其可移植?
Install library with relative path to make it portable?
我正在尝试安装 libimobiledevice
以便可以轻松将其移动到其他目录。我正在 Atom Electron 应用程序中安装 libimobiledevice。不幸的是,./configure 扩展了我设置的任何 --prefix 环境变量。例如,如果我使用 --prefix ${PWD}/libimobiledevice
,它会安装到 /Users/MyName/libimobiledevice
,所有路径都硬连接到可执行文件中。这对 /Users/MyName
中的 运行 libimobiledevice 没问题,但如果我尝试将它移动到另一台机器上的 /Users/AnotherUser
,它就不起作用了。这是我使用的代码
LIB_PATH="libimobiledevice"
[ -d "$LIB_PATH" ] && rm -rf $LIB_PATH
mkdir $LIB_PATH
cd $LIB_PATH
LIB_PATH=${PWD}
PKG_CONFIG_PATH="$LIB_PATH/lib/pkgconfig"
PKG_CONFIG_PATH="$LIB_PATH/lib/pkgconfig" ./autogen.sh
PKG_CONFIG_PATH="$LIB_PATH/lib/pkgconfig" ./configure --prefix=$LIB_PATH #--enable-debug-code
这个 post 回答了我的问题:How to copy and relink binaries on osx
我检查了 otool
并使用 @executable_path
更改了链接库的路径
我正在尝试安装 libimobiledevice
以便可以轻松将其移动到其他目录。我正在 Atom Electron 应用程序中安装 libimobiledevice。不幸的是,./configure 扩展了我设置的任何 --prefix 环境变量。例如,如果我使用 --prefix ${PWD}/libimobiledevice
,它会安装到 /Users/MyName/libimobiledevice
,所有路径都硬连接到可执行文件中。这对 /Users/MyName
中的 运行 libimobiledevice 没问题,但如果我尝试将它移动到另一台机器上的 /Users/AnotherUser
,它就不起作用了。这是我使用的代码
LIB_PATH="libimobiledevice"
[ -d "$LIB_PATH" ] && rm -rf $LIB_PATH
mkdir $LIB_PATH
cd $LIB_PATH
LIB_PATH=${PWD}
PKG_CONFIG_PATH="$LIB_PATH/lib/pkgconfig"
PKG_CONFIG_PATH="$LIB_PATH/lib/pkgconfig" ./autogen.sh
PKG_CONFIG_PATH="$LIB_PATH/lib/pkgconfig" ./configure --prefix=$LIB_PATH #--enable-debug-code
这个 post 回答了我的问题:How to copy and relink binaries on osx
我检查了 otool
并使用 @executable_path