首页 > 解决方案 > 如果使用 QT Creator,如何避免 qmake Build Step

问题描述

我有一个 Qt 项目文件(.pro)和一个 Makefile(自写)。
项目文件仅用于在 IDE 中编辑源文件:

/home/project/

             ./src/fooApp.pro
                              TEMPLATE=app
                              CONFIG-=qt
                              TARGET=fooApp

                              SOURCES+=...
                              HEADERS+=...

             ./src/main.c
             ./src/foo.c
             ./src/foo.h

             ./build/Makefile

我想通过 IDE QT Creator 3.5.1
构建项目 因此我想在 Makefile 上调用 make。

在构建过程中,我总是收到找不到 Makefile 的错误,因此没有触发构建。

解决方案是始终先调用 qmake,然后再调用(即使 Makefile 仍然存在且自定义设置make -C ../build in /home/project/

有人可以解释一下,为什么不能忽略 qmake 并直接在已经存在的 Makefile 上调用 make ?

(项目没有使用 Qt 库)

问候

标签: makefileqt-creatorqmake

解决方案


这很容易,我只使用 makefile 项目,因为我喜欢 qt-creator 作为 IDE。在 IDE 中,转到左侧的项目选项卡。

选择该页面顶部附近的“构建”选项卡,如下所示:(build | run).

在构建步骤中:

  • 通过将鼠标悬停在该步骤上并单击出现的 X 来删除 qmake 构建步骤。
  • 编辑build directory它,使其与您的 makefile 目录相同。

    注意:您必须单击shadow build它旁边的复选框才能启用它。

  • 删除您不想要的任何其他步骤(实际上只是暂时将它们全部删除)。
  • 添加新的步骤make步骤。它会尝试使用默认的 make,但如果需要,您可以覆盖它。还添加任何参数,如debugor-j4等​​...

然后你就完成了:)

下次你点击 build 时,它会简单地调用 make 命令。

注意:您需要对您拥有的任何其他配置(如发布、调试等)执行相同的操作。您也可以添加更多配置以执行其他 make 选项(如果有的话),make doxygen例如......

刚刚记得你也可以:

  • 我不知道为什么,但是当我测试它时(就像 OP 所做的那样),你似乎不能只make用参数设置一个步骤-C ../,它似乎想先查看“构建目录”。

我倾向于使用构建位置,因为它是 IDE 的一个不错的功能。

请注意,较新版本的 Qtcreator 作为 makefile IDE 的一个问题是,您无法与其他人共享您的构建设置(即无法配置控制它们),因为它们被锁定到您的 PC 配置文件……长篇大论……但它非常难过,出于这个原因,我不再使用 qt creator。


推荐阅读