打包之后,在测试电脑安装后,程序需无法运行,错误信息为:找不到依赖的动态链接库
试想动态链接库的问题,我们在 Windows 是怎么处理的呢?拷贝到执行文件相同目录或系统 system32
目录即可。苹果的 app 与 Windows 的可执行文件有一定的区别,Mac 下的 app 不是一个可执行文件,而是一个目录,而真正的可执行文件是在 xxx.app/Contents/MacOS/
目录下;
于是我将动态库做了如下的操作:
- 拷贝到 app 的可执行文件相同的目录下,即
xxx.app/Contents/MacOS/
目录下; - 拷贝到
xxx.app/Contents/Frameworks/
目录下,而我检查Xcode
工程目录的Runpath Search Paths
的属性,默认的就是$(inherited) @executable_path/../Frameworks
;
以上的操作均不能解决问题,于是我就使用 otool -L xxx.dylib
命令来查看依赖库的情况,如下:
libtimelink-tuio.dylib:
/usr/local/lib/libtinyxml.dylib (compatibility version 1.0.0, current version 1.0.0)
libboost_thread.dylib (compatibility version 0.0.0, current version 0.0.0)
libboost_system.dylib (compatibility version 0.0.