Qt 更改生成目录后,Ctrl-r不运行

Qt 更改生成目录后,Ctrl-r不运行,qt,qt-creator,Qt,Qt Creator,默认情况下,项目的生成目录是同级目录,与项目本身具有相同的目录 为了更好地组织备份过程,我将defaut构建路径移动到一个目录中,该目录是我所有项目的父目录的同级目录。编译默认路径已相应更新 现在我只备份我的项目,没有构建 我现在面临的问题是关于execute键组合Ctrl-r,我得到了编译进度条,但事实上,项目现在还没有编译。这是确认的,因为编译后的文件不会在buid目录中更新 现在,更新编译的唯一方法是通过菜单Build->buildall。它可以工作,但没有键绑定,我需要在之后执行 在更改

默认情况下,项目的生成目录是同级目录,与项目本身具有相同的目录

为了更好地组织备份过程,我将defaut构建路径移动到一个目录中,该目录是我所有项目的父目录的同级目录。编译默认路径已相应更新

现在我只备份我的项目,没有构建

我现在面临的问题是关于execute键组合Ctrl-r,我得到了编译进度条,但事实上,项目现在还没有编译。这是确认的,因为编译后的文件不会在buid目录中更新

现在,更新编译的唯一方法是通过菜单Build->buildall。它可以工作,但没有键绑定,我需要在之后执行

在更改生成目录路径时,是否有方法恢复Ctrl-r


感谢您的帮助

当您从Qt Creator运行项目时,只有在需要时才会重新生成它,这一点已明确说明:

运行配置在应用程序所在的位置启动应用程序 已由部署配置复制。默认情况下,当您选择 运行函数,Qt Creator构建项目,并将其部署到设备 在工具包中定义,并在那里运行它。但是,如果您没有 自上次构建和部署该项目以来,对该项目所做的任何更改 Creator只需再次运行它

强制生成的唯一方法是明确地发出rebuild命令(您可以为此使用Ctrl-B快捷方式)

如果更改了默认生成目录(在工具>选项>生成和运行>常规中),此设置将(作为默认设置)应用于随后创建的项目。现有项目将按照项目生成设置中的指定保留其生成目录

您可能还需要检查选项

  • 始终在部署项目之前构建项目
  • 始终在运行项目之前部署项目
在工具>选项>构建和运行>常规中设置

有时,编辑头文件不会触发生成,即使该文件包含在某些cpp文件中。要在Qt Creator中解决此问题,只需在pro文件中添加如下行:


我同意:“如果你没有做任何改变”。但是如果您这样做了,Run函数会再次构建项目。这就是问题所在!当更改构建目录时,它会通过显示进度条来显示,但实际上,它不会。。。尝试一个简单的项目,比如“hello world”。如果您更改它,会说“hello me”-在另一个目录中更改的构建路径,在运行函数时,您会看到由于路径更改,您得到的是“hello world”,而不是“hello me”。再次确认。默认生成目录将更新为正确的目录。没关系。但最后,它并没有发挥应有的作用。即使使用F5功能(开始调试)。谢谢您的帮助。您必须在“项目设置”中检查生成目录,而不是在“工具”>“选项”>“etcAgain”中检查默认生成目录,是的,它是可以的。项目设置中的生成目录与默认目录完全相同。如果您创建了一个新项目,默认情况下这两个项目是相同的。所以根本原因不是目录分配。从这个角度看问题是错误的。我又做了一次测试。如果在运行F5或ctrl-r之前清空构建目录,则它将填充新的重新编译文件。如果以前的文件仍然存在,则重建不会覆盖这些文件。我不明白,我在绕着这个问题转。再次感谢您的帮助。请检查我在答案末尾添加的选项。
DEPENDPATH += path/to/the/header(s)