1

我已经使用 Qt 几个月了,没有任何问题。截至 2012 年夏天,我最初使用最新的 Qt Creator 下载了 Qt 4.8 库,并且能够开始构建我的应用程序。我的应用程序有苛刻的图形需求,所以我一直在使用 Qt 为 OpenGL 提供的出色的窗口上下文。

我一直在慢慢培养我的技能。我已经成功地探索了可编程着色器,我想利用几何着色器的力量。我在配备 GeForce GT 330M GPU 的 MacBookPro6,2 上运行 OS X 10.7.5。根据我从其他人那里读到的内容,OS X Lion 的升级包括一个在 OpenGL 3.2 核心规范下运行此 GPU 的驱动程序,包括对可编程几何着色器的支持。我还在这里读到,虽然 Qt 4.8 在 OS X 上不支持 OpenGL 3.2,但他们最近发布的 Qt 5 中包含了这种支持。

我看到 Digia 还发布了 Qt Creator 的更新,所以(对我工作中的这一潜在突破有点兴奋)我卸载了 Qt 并下载了 Qt 5.0.0 库 + Qt Creator 2.6.1。我完成了向导中的步骤,启动了新的 Qt Creator,但现在没有任何效果,哈哈。我与我的编译器以及它给我的神秘信息发展了一种爱恨交织的关系,但这是不同的。抛出的错误听起来像是它不再知道如何阅读代码(只是从数百个错误“#include”中挑选一个示例)。该向导很好地安装了 Qt,并且所有的胆量都在那里,但我认为我的 gcc 编译器的链接已经被破坏了。甚至 Qt 5 附带的示例也无法编译。

Qt 引入了一个新的“工具包”范例,使在多个平台上的开发更容易,我已经努力改变工具包的设置。Qt 检测到几个 gcc 编译器选项,我已经尝试过,我已经手动将它指向我从终端命令获得的路径:which gcc
/usr/bin/gcc

它似乎是 gcc 4.2。我看到最新版本是 gcc 4.7,但我拥有 XCode 提供的最新版本。我还从 XCode 下载了“命令行工具”并重新启动,但它并没有像我希望的那样神奇地解决我的问题。我正在尝试手动更新 gcc,但我遇到了问题,因为它要求我也更新 gmp 和 mpfr,而且它们没有完全合作。

由于套件范例允许多个库在 Qt 中共存,我重新下载了 Qt 4.8 库,但它遇到了同样的问题。我已经将 4.8 和 5.0 库的 Qt Creator 指向 qmake,但这似乎也不是问题。

我还没有看到任何其他人遇到如此严重问题的证据,所以这表明我错过了一些简单的东西。但即使是去年夏天的新手,我也觉得我已经对 Qt、C++ 和 OpenGL 感到很自在,因为我从 Internet 上拼凑起来。

如果有人能将我推向正确的方向,我将不胜感激。我愿意在 Qt 5.0 中从头开始重建我的应用程序,但我现在根本无法使用 Qt。

4

1 回答 1

2

我终于让它工作了!在目录 /usr/bin/ 中有多个 g++ 可执行文件。它们标有不同的版本号(g++-4.0、g++-4.2),但它们出现在 Qt 的自动检测中。我需要做的就是删除额外的内容。仅保留未标有版本号的 g++ 可执行文件。通过限制 Qt 可用的选项,它自动选择了一个编译器,现在它可以工作了。

我花了这么长时间才找到这么快的解决方案很尴尬,但仍然是一种解脱。我希望其他人从我的经验中节省时间。

于 2013-01-23T23:52:38.543 回答