У меня есть приложение, созданное в C ++ QT Creator (Ma c), развернутое с помощью инструмента macdeployqt. Он работает нормально на ма c, на котором он был создан, но при использовании на другом ма c я получаю сообщение об ошибке Драйвер не загружен.
Я посмотрел в MyApp.app и запустил otool -L на libq sqlmysql .dylib. Похоже, что он обращается к libmysqlclient.21.dylib в каталоге /usr/local/mysql-8.0.20-macos10.15-x86_64/lib вместо приложения?
Он поставил libmysqlclient.21.dylib в пакете, но в каталоге frameworks. Он ищет 2 библиотеки в каталоге @loader_path, libssl.1.1.dylib и libcrypto.1.1.dylib.
Я не уверен, что это проблемы, так как я нуб на Mac.
В общем, как мне это исправить и нужны ли мне какие-то дополнительные библиотеки? Это otool -L на них:
Ghosts-iMac:sqldrivers ghost$ otool -L libqsqlmysql.dylib
libqsqlmysql.dylib:
libqsqlmysql.dylib (compatibility version 0.0.0, current version 0.0.0)
@rpath/QtSql.framework/Versions/5/QtSql (compatibility version 5.9.0, current version 5.9.9)
@rpath/QtCore.framework/Versions/5/QtCore (compatibility version 5.9.0, current version 5.9.9)
/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/usr/local/mysql-8.0.20-macos10.15-x86_64/lib/libmysqlclient.21.dylib (compatibility version 20.0.0, current version 20.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.0.0)
Ghosts-iMac:sqldrivers ghost$ otool -L libmysqlclient.21.dylib
libmysqlclient.21.dylib:
@rpath/libmysqlclient.21.dylib (compatibility version 21.0.0, current version 21.0.0)
@loader_path/libssl.1.1.dylib (compatibility version 1.1.0, current version 1.1.0)
@loader_path/libcrypto.1.1.dylib (compatibility version 1.1.0, current version 1.1.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 800.7.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.0.0)
Я не знаю, почему macdeployqt сделал это. Это может быть решено через это или мне нужно сделать это вручную, используя install_name_tool как-нибудь?
Любая помощь будет оценена.
Спасибо