Qt 4.8 beta 和 Mac OSX Lion,Phonon 错误

3
在成功安装了mac OS 10.7之后,我试图编译我的qt 4.7项目。但是,我收到了许多“不支持的mac os x版本”的警告。因此,我决定使用Qt 4.8 beta,现在所有警告都消失了。
然而,现在我在使用Phonon时遇到了链接器问题:
dyld: Library not loaded:/Users/pulseagent/repos/build2/Desktop/Qt/4.8.0/gcc/lib/QtDBus.framework/Versions/4/QtDBus
Referenced from: /Users/kikohs/QtSDK/Desktop/Qt/4.8.0/gcc/lib/phonon.framework/Versions/Current/phonon
Reason: Incompatible library version: phonon requires version 4.8.0 or later, but QtDBus provides version 4.7.0

你知道我怎么修复这个问题吗?

谢谢!


你确定你的开发环境中所有路径都指向了新的Qt 4.8版本吗? - Bart
4个回答

2
在Lion下,您可以使用Homebrew轻松安装QT(已经修复了此问题):
  1. 使用以下命令安装Homebrew:

    /usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"

  2. 使用以下命令安装QT:

    brew install qt --build-from-source


我想坚持使用原生的Qt for Mac。 - Kirell
1
通过Homebrew安装是“本地的”。唯一的区别在于你要从源代码构建。 - Diego Plentz

0

目前我决定继续使用Qt 4.7.3版本,为了消除警告,我对qtglobal.h文件进行了修改,并添加了Mac 10.7作为支持的版本。

目前看来运行良好...


我不这么认为。我只收到了关于废弃后端cocoa函数(滚动)的警告。 - Kirell
为了编译qwt(图形框架),我修改了qtglobal.h文件,大约在第323行处:

if !defined(MAC_OS_X_VERSION_10_7)

define MAC_OS_X_VERSION_10_7 MAC_OS_X_VERSION_10_6 + 1

endif

if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_7)

warning "This version of Mac OS X is unsupported"

endif

- Pete855217

0

我正在使用Qt Creator 2.2.1和Qt 4.7.4(64位)。

在Lion中构建时,报告了一些警告(与Mac OS版本有关),但生成的应用程序按预期工作。

使用macdeployqt工具(QtSDK / Desktop / Qt / 473 / gcc / bin / macdeployqt),带有-dmg开关,从具有所有所需依赖项的应用程序创建dmg文件。

虽然这报告了一些错误(与复制nib文件有关),但生成的dmg文件仍按预期工作。


1
我遇到了相同的错误nib blabla。为了消除警告,我修改了qtglobal.h文件,将Lion版本添加为支持的版本。 - Kirell

0

你能像本地的Mac Qt应用程序一样轻松部署吗? - Kirell
是的。为了遵守LGPL许可证,您需要动态链接Qt框架文件,将Qt框架文件包含在应用程序包中,并修改二进制文件以使用应用程序包内的框架文件。有一些实用工具可以帮助完成这个过程。 - trojanfoe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接