【问题标题】:How to compile a simple Qt and c++ application using g++ on mac os x?如何在 mac os x 上使用 g++ 编译一个简单的 Qt 和 c++ 应用程序?
【发布时间】:2010-10-01 06:22:41
【问题描述】:

我正在尝试将 Qt 用于学校的一个项目,但遇到了问题。我开始按照教程进行操作,但遇到了 Makefile 问题。大多数教程都说运行qmake -project,然后运行qmake,最后运行make。但是当我尝试这个时,我遇到了错误make: *** No targets specified and no makefile found. Stop. 我真的对 Makefile 了解不多。有人可以帮我指出正确的方向吗?

【问题讨论】:

  • 您使用的是 XCode 还是只是命令行?

标签: c++ macos qt makefile qmake


【解决方案1】:

OS X 上的 qmake 创建 Xcode 项目文件。您可以使用以下命令创建 Makefile:

qmake -spec macx-g++

如果您不希望 Makefile 创建应用程序包,您还可以删除您的配置“app_bundle”,例如通过将以下行添加到您的项目文件中。

mac {
  CONFIG -= app_bundle
}

【讨论】:

  • 相反,我想创建一个应用程序包,但我只得到一个二进制文件。我尝试添加CONFIG += app_bundle 无济于事。
【解决方案2】:

正如其他发帖者所指出的,Mac 上 qmake 的默认行为是创建 xCode 项目文件。您可以在每次运行 qmake 时输入一些特殊的内容,或者在每个项目文件中添加几行。有一个更永久的解决方案。每次我在我的 Mac 上安装 Qt 时都会遇到这个问题。从命令行输入以下内容:

cd /usr/local/Qt4.5/mkspecs/

sudo rm 默认

sudo ln -sf macx-g++ 默认

第一个在线命令中指定的目录可能需要一些调整。 第一个“sudo”需要管理员密码。

这样做是删除指定默认 -spec 开关是 mac-xcode 或类似的东西的违规文件。然后我们用一个文件替换它,指定我们默认使用 macx-g++ 开关。

【讨论】:

    【解决方案3】:

    听起来您的 Qt 安装可能有问题。你是自己构建的,还是从别人那里安装的?另外,您有没有给您带来此麻烦的示例 .pro 文件?

    【讨论】:

    • 不是我自己建造的。我从 qt 站点安装了 mac os x 版本。我正在使用的 .pro 看起来像这样:` TEMPLATE = app TARGET = DEPENDPATH += 。包含路径 += 。 # 输入 HEADERS += hello.h SOURCES += hello.cpp main.cpp `
    • 正如其他人所指出的,在 OSX 上使用 QtSoftware 安装的 qt 会生成 Xcode 项目文件。您可能想尝试从源代码构建自己的 Qt,以便默认构建 makefile。
    【解决方案4】:

    已经有一段时间了,但我认为你的问题是 Mac OS X 上的 qmake 默认创建 xcode 项目文件,而不是 makefile。这就是为什么运行 make 时没有找到 makefile 的原因。相反,请在命令行中查找 qmake 以指定如何定位 makefile。此外,您可能还可以将一个选项添加到 .pro 文件中,以便每次都强制生成一个 makefile 输出。

    【讨论】:

      【解决方案5】:

      配置-platform macx-g++ gmake

      这应该足以解决所有问题

      【讨论】:

        猜你喜欢
        • 2011-05-19
        • 2011-07-08
        • 1970-01-01
        • 1970-01-01
        • 2013-11-23
        • 2014-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多