在Mac OS X Snow Leopard上部署Qt应用程序

时间:2013-03-12 06:44:32

标签: qt osx-snow-leopard

我正在使用Xcode / Qt 4.8.4在Mac OS X 10.8上开发C ++应用程序。我希望它能在Mac OS X 10.6及更高版本上运行。为了做到这一点,我将Xcode部署目标设置为10.6,我也使用macdeployqt。它在Mac OS X 10.8上运行良好,但在10.6上有很多很多问题。

由于缺少10.6和10.8位于不同位置的框架,应用程序崩溃:

  

Dyld错误消息:未加载库:   /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText   参考自:   /Volumes/deploy/MyApp.app/Contents/MacOS /../框架/ QtGui.framework /版本/ 4 / QtGui

     

未加载库:   /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO   参考自:   /Applications/MyApp.app/Contents/MacOS /../框架/ QtGui.framework /版本/ 4 / QtGui

     

...类似QtWebKit,QtNetwork等问题......

有一些棘手的问题是关于某些系统库中缺少符号,比如libobjc.A.dylib,libSystem.B.dylib,libc ++ abi.dylib,libc ++。1.dylib等:

  

Dyld错误消息:未找到符号:   __dispatch_queue_attr_concurrent引用自:/tmp/MyApp.app/Contents/MacOS/../Frameworks/libobjc.A.dylib预期   在:/usr/lib/libSystem.B.dylib中   /tmp/MyApp.app/Contents/MacOS /../框架/ libobjc.A.dylib

有人可以解释如何解决这个问题吗?使用Qt 4.8.4时,是否有可能以Mac OS X 10.6为目标?或许,Qt 4.8.4与10.6不完全兼容?我试图在.pro文件中设置QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6,我使用macdeployqt只是将MyApp.app作为唯一参数传递。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

根据我的经验,你最好只在分区上安装10.6并在那里进行构建。我一直在使用Mac OS 10.6对抗Qt 4.8.4并使用macdeployqt,我的应用程序很乐意在10.5到10.8上运行而没有任何问题