【问题标题】:Compiler configuration for Qt CreatorQt Creator 的编译器配置
【发布时间】:2012-12-20 20:21:37
【问题描述】:

我是 Qt 及其 IDE Qt Creator 的新手,所以请原谅我的无知。 当我尝试编译我的代码时,我得到了异常

“Qt Creator 需要设置编译器来构建。在套件选项中配置编译器”。

我已经安装了 MingGW 来编译 C++ 代码。 但是,我在为 Qt Creator 配置它时遇到问题。

任何帮助将不胜感激。谢谢

【问题讨论】:

    标签: qt mingw qt-creator


    【解决方案1】:

    我怀疑您使用的是新的 5.0 Qt。这对我来说也需要一点刺激。

    如果您查看Settings > Build & Run > Kits,您应该会看到一个自动检测到的条目,该条目可能前面有一个感叹号并且不可编辑。忽略这个。

    • 添加新套件
    • 为其命名,设置“Qt 版本”并选择编译器。 (编译器应该已经被自动检测到了。如果您没有看到任何编译器,则必须手动设置至少一个)
    • 单击“设为默认”按钮。 (您可能也必须修改项目构建设置才能使用新套件)

    可能有更好的方法,但我不知道。并且您可能应该使用 4.x,直到 5 退出测试版。

    【讨论】:

    • Qt 5 昨天正式发布,但我同意您的建议,即在 Qt 4 中停留更长时间(如果您不需要很酷的新东西;-)。他需要添加一个编译器,然后更新他(应该)拥有的一个工具包,这样他就不需要更新他的项目了。
    • @TobiasHunger 哦,感谢新闻快讯! :) 然而,虽然最终版本可能有所不同,但自动检测的套件对我来说是不可修改的,所以没有办法创建一个新的套件。
    • 自动检测的工具包应该自动选择匹配的编译器。如果没有:请在bugreports.qt-project.org 提交错误报告。您始终可以克隆一个套件,并随心所欲地使用它。 PS:您可能想要更新到 2.6.1(与 Qt 5 同时发布)。这解决了一系列最常报告的套件问题。
    【解决方案2】:

    我也遇到了同样的问题,所以我做了这样的事情:

    sudo apt-get install g++ 
    sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
    

    然后我关闭了 QT Creator,重新启动它,它就可以工作了。

    我不知道上面两个中的哪一个让它起作用了,但是它起作用了!

    【讨论】:

      【解决方案3】:

      您使用的是 Qt Creator 2.6.x,因为它们是唯一有工具包的。

      请转到工具>选项>构建和运行>编译器并在那里添加你的 mingw 编译器。您需要在 mingw 安装中将 creator 指向“g++”。

      然后转到“工具包”选项卡并单击创建者应该为您创建的桌面工具包。在细节中有一个字段叫做编译器(或者工具链,不记得了)。在那里选择你的 mingw 编译器。检查调试器字段。如果它是空的或使用作为 mingw 一部分的 gdb 调试器:从http://builds.qt-project.org/ 获取一个调试器,安装它并将创建者指向那个调试器。众所周知,作为 mingw 的一部分提供的调试器无法与 creator 很好地配合使用。

      不要使用诺基亚 Qt SDK:那里的一切现在都已经过时了!

      【讨论】:

        【解决方案4】:

        这只是解决您的问题的起点,但 Qt Creator 首选项在“构建和运行”区域中有设置,您可以在其中定义构建工具链的位置:编译器、要构建的 Qt 版本等。对于mingw 你必须将正确的字段指向 g++ 的位置,对于 Qt 版本,指向 qmake 的位置。

        【讨论】:

          【解决方案5】:

          并非总是最后一个版本更好。如果有人正在学习 Qt 来实现生产解决方案,那么使用 Qt 版本 5 不是一个好主意(请参阅 Qt5 更改日志)。如果你想学习 Qt 编程,我认为诺基亚 SDK 是一个很好的起点,因为你只需将它作为另一个 Windows 软件安装,然后开始编码。

          使用 linux 是另一个很好的起点,因为您将拥有所有的开发环境,只需几个 apt-get 命令。

          当我开始编写 Qt 时,我浪费了很多时间来获得一个使用 QtCreator 的完整环境,而且我知道并不是每个人都有时间。

          【讨论】:

          • 这以什么方式回答了 OP 的问题?
          【解决方案6】:

          我正在使用基于 Qt 5.5.1 的 Qt Creator 3.5.1。每次我必须配置开发系统时,错误“套件中没有设置编译器”一直是个问题。对我有用的解决方案是选择工具/选项/编译器并添加编译器。在我的例子中,GCC 编译器的名称为:g++,编译器路径:/usr/bin/g++。诀窍是在尝试添加 Kit 之前添加编译器。如果我在添加编译器之前添加工具包,我将永远无法将编译器添加到工具包中。如果您遇到此问题,请删除 Kit,添加编译器,然后添加 Kit。

          【讨论】:

            【解决方案7】:

            在您的问题中,您必须向我们提供有关您的问题的更多信息,例如您使用的软件版本。

            关于您的问题,我认为,对您(作为初学者)来说非常好的想法是使用全包式 QtSDK(link,需要注册)。 QtSDK 1.2.1 中有现成的 QtCreator、MinGW 和一点点旧的 Qt Libs。所以,你根本不需要配置它。

            希望,它会有所帮助。祝你好运!

            【讨论】:

            • 他说的是套件,所以他一定是在使用 Qt Creator 2.6.x。 (Nokia) Qt SDK 已经过时了,并且包含了很多现在没有什么价值的东西(诺基亚放弃的平台;-),所以我真的不推荐。
            • 就我而言,正如我所推荐的,对于 Qt 的第一次尝试——QtSDK 是非常好的解决方案。
            • Creator 自 2.4.x 以来变得更好,这是 SDK AFAIK 中的最后一个。它甚至根本不适用于 Qt 5(为此您需要 2.6.1)。当 SDK 在 3 月份发布时,人们抱怨发货的 mingw 已经过时。我希望 Qt 5 包会随着时间的推移变得更加完整(例如,具有 mingw 风格,包括除了 Qt 和 QtCreator 之外还需要的编译器和调试器)。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-11-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-06-22
            • 1970-01-01
            相关资源
            最近更新 更多