【问题标题】:Building Qt statically (regarding configure -static additional options)静态构建 Qt(关于 configure -static 附加选项)
【发布时间】:2013-06-30 17:39:50
【问题描述】:

所以我看到了关于如何静态构建 Qt 的教程,但是我有一个问题。如果我在我的程序中使用 QMYSQL 驱动程序,我需要向configure -static 添加什么? -singleexec 能解决问题吗?

教程链接:http://qt-project.org/doc/qt-4.8/deployment-windows.html#linking-the-application-to-the-static-version-of-qt

选项:http://radekp.github.io/qtmoko/api/buildsystem/over-configure-options-1.html

我想要的是独立的。

【问题讨论】:

  • 不要谷歌随机文档来源。那个 qtmoko 页面上仍然有奇趣科技的版权!仅使用qt-project.org/doc 上的官方文档(或者,更好的是源代码:-))。

标签: qt static qt-creator


【解决方案1】:

configure 脚本支持在 QtSql 本身中构建额外的 SQL 驱动程序;尝试将-qt-sql-mysql 传递给它(连同-static)。您还需要传递所有-I-L 和最终-l 选项才能构建 MySQL 驱动程序(编译器和链接器必须能够找到您的 MySQL 包含文件和库;所以,除非他们'在“标准路径”中,您需要添加这些标志以使 MySQL 驱动程序编译)。


如果这不起作用,您始终可以将 MySQL 驱动程序构建为 静态插件 -- 只需按照普通构建指令构建驱动程序(在您通过 @ 静态构建 Qt 之后) 987654328@),它会生成一个静态插件。然后你需要

  1. 在您的 .pro 文件中添加 QTPLUGIN += qsqlmysql
  2. 在您的应用中的某处添加Q_IMPORT_PLUGIN(qsqlmysql)(例如,在 main 周围)。

有关更多信息,请参阅docs about static plugins

【讨论】:

  • 我已经详细说明了我的回答。
  • 正如我所说,-l 不应该是必需的。只需通过 -I-L 作为配置选项。防止将来出现问题,我可以建议您在没有任何空格的路径中重新安装 MySQL 吗? :-)
  • 该错误与此问题无关。您需要 OpenGL 标头(并通过 -opengl)或安装 DirectX SDK。
  • 等等,那是 Qt 5.0 吗?!那不支持静态链接——试试 5.1(RC2 在download.qt-project.org/snapshots/qt/5.1/5.1.0-rc2 上可用)
  • 这并没有改变我所说的:5.0 不支持静态链接。由于您没有在帖子中说明 Qt 版本,并且问题没有标记为 qt5,并且您链接到 Qt 4 文档,我假设 Qt 4。尝试使用 5.1。
猜你喜欢
  • 1970-01-01
  • 2016-08-04
  • 1970-01-01
  • 1970-01-01
  • 2015-12-14
  • 1970-01-01
  • 2019-08-01
  • 2013-02-26
  • 1970-01-01
相关资源
最近更新 更多