将应用程序链接到Mac上的Qt静态版本

时间:2013-01-08 21:35:40

标签: qt

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

我遵循了guide。我已经下载了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相关联,我该如何解决?

1 个答案:

答案 0 :(得分:0)

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

  

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

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