【问题标题】:How to deploy a Qt application that uses SQLite on OS X如何在 OS X 上部署使用 SQLite 的 Qt 应用程序
【发布时间】:2017-06-29 11:46:54
【问题描述】:

我正在尝试在 OS X 上部署一个使用 SQLiteQt 应用程序。 我只是运行了命令:

macdeployqt MyApplication.app -dmg

我收到以下错误:

ERROR: no file at "/opt/local/lib/mysql55/lib/libmysqlclient.18.dylib"

我已经在 this link 上阅读了有关 SQLite 插件的信息,但我不明白它是如何工作的。

注意: 我有一个文件夹:......./Qt5.3.2/5.3/clang_64/plugins/sqldrivers/

包含:

libqsqlite.dylib

libqsqlite_debug.dylib

以及其他一些与其他 sql 驱动程序相关的库。

知道如何解决这个问题吗?

谢谢

【问题讨论】:

  • 你在谈论 SQLite,但你得到的错误是关于 MySql 插件。您是否将 PRO 文件中的应用程序与 MySql 库链接起来?也许您在 PRO 文件中添加了 MySQL 支持?尝试找出您的二进制文件与 MySQL 相关联的原因并消除其原因。
  • 我在 macdeployqt 中遇到了类似的错误,最后我选择简单地忽略它,因为我部署的应用程序运行良好。问题的根源可能在于 QtSql 将 MySQL 作为依赖项,但只要您实际上不使用任何 MySQL 的东西,您就有可能会没事。
  • 但是,在我的例子中,我只部署了 .app,而不是 .dmg...所以如果你想用 macdeployqt 生成 .dmg,可能无法忽略该错误。
  • @Max Go:不,我没有使用 MySQL,在我的 PRO 文件中我只是设置了这个:QT += sql
  • @Dmitry,实际上,甚至显示 DMG 文件已成功生成的错误消息,它似乎工作正常。我在我的机器和虚拟机上测试了该应用程序,它似乎工作正常。我应该忽略错误消息吗?

标签: macos qt sqlite macdeployqt


【解决方案1】:

作为 SGaist 的回答 here:

macdeployqt 默认部署所有插件,因为它不知道 您将使用哪一个。

请注意,您可以分两步构建 .dmg,首先运行 macdeployqt, 然后删除所有未使用的 Sql 插件,然后创建图像。

这意味着如果我没有在我的应用程序中使用 MySQL,我可以忽略此错误消息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-17
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多