mac开发少不了需要编译动态库供其它可执行程序使用,其中有些知识点不那么简单。
开始之前使用命令man ld
查看一下生成dylib的链接器选项。
install_name 选项 (@rpath)
设置-install_name @rpath/libmacbase.dylib
编译的dylib的时候指定这个选项,把dylib的路径写入dylib内部,这样在和可执行文件链接的时候,会记录下这个路径,dyld就可以定位到这个dylib了。
在可执行文件的编译选项中,设置-rpath, -Wl,-rpath,@loader_path/
显示@rpath位置
DYLD_PRINT_LIBRARIES=1 ./openvpn3
参考
http://www.tanhao.me/pieces/1361.html/
https://www.cnblogs.com/csuftzzk/p/mac_run_path.html