mac下Qt缺失libiodbc.2.dylib和libpq.5.dylib解决方案
做了个mysql的qt小项目,当我准备用macdeployqt打包成pkg文件的时候,报错如下:
$ macdeployqt /Users/rodin/Documents/Courses/DB/PSMS/build-PSMS-Desktop_Qt_5_15_0_clang_64bit-Release/PSMS.app
ERROR: no file at “/usr/local/opt/libiodbc/lib/libiodbc.2.dylib”
ERROR: no file at “/Applications/Postgres.app/Contents/Versions/9.6/lib/libpq.5.dylib”
也就是缺失libiodbc.2.dylib和libpq.5.dylib
经查询资料,libiodbc.2.dylib是
这玩意的一个动态链接库,于是brew cask install postgres。
但是libiodbc.2.dylib的目标路径是app包文件夹的Contents的Versions的9.6里,然而我打开看里面只有10,11和12三个更新版本的,所以用软链接,记得先建文件夹。
ln -s /Applications/Postgres.app/Contents/Versions/12/lib/libpq.5.12.dylib /Applications/Postgres.app/Contents/Versions/9.6/lib/libpq.5.dylib
其中libpq.5.12.dylib是最新版本的,向下兼容。
完事之后如下图:
libpq.5.dylib就更好办了,直接输入:
brew unlink unixodbc
brew install libiodbc
完事后dylib文件就在那里了,动都不用动。
然后就搞定了!!!