0

我正在尝试通过将 Qt 应用程序链接到 Qt 的静态版本来部署它。

我按照这个指南。我已经下载了 Qt 并静态编译了它。问题是当我尝试将我的应用程序链接到 Qt 的静态版本时。

编译并链接应用程序后,我检查应用程序链接到的其他库:

otool -L QtIntro.app/Contents/MacOs/plugandpaint

//output from command:

QtGui.framework/Versions/4/QtGui (compatibility version 4.8.0, current version 4.8.3)
QtCore.framework/Versions/4/QtCore (compatibility version 4.8.0, current version 4.8.3)
QtNetwork.framework/Versions/4/QtNetwork (compatibility version 4.8.0, current version 4.8.3)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 52.0.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1094.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)

为什么我的应用程序仍然链接到 Qt 的动态版本,我该如何修复它?

4

1 回答 1

0

在 99% 的情况下,这是因为您仍然在该特定路径中拥有动态库。如文档中所述:

链接器将始终选择动态而不是静态。

尝试将*.framework子目录移动到某个地方并再次启动干净的构建。

于 2013-01-09T05:59:10.073 回答