【发布时间】:2015-02-05 11:49:10
【问题描述】:
使用 QT Creator 我有一个项目(我们称之为 Proj A),它依赖于静态链接项目(我们称之为 Proj B)。
Proj A 包含 Proj B 所需的一些标头。
在 Proj B 中,我从 Proj A 中删除了“MyClass.cpp”使用的名为“SomeHeader.h”的头文件,并将描述等移动到另一个头中。
当然,在 Proj A 的“MyClass.h”中,我删除了旧的包含并用新的替换它。
编译时出现以下错误(老实说让我感到困惑):
make : *** 没有规则来制作目标 'SomeHeader.h' ,'MyClass.o' 需要。
我搜索了编译输出、.h、.cpp 文件、.pro 文件,但在任何地方都找不到“SomeHeader”。
我已经清理了项目并重建了,仍然没有。
我猜 QT Creator 正在制作一些临时的 makefile,它们会以某种方式永久化。
那么接下来我应该尝试什么?
【问题讨论】:
-
如果我遇到类似的情况,我要做的第一件事就是在项目上运行 qmake。你试过这个吗? (编辑:我现在看到这解决了你的问题)
-
TonyK 是的,确实做到了 :)) 。新的 IDE,新的工具链......多么有趣......你能回答这个问题,以便我可以删除我的答案并接受你的答案吗?
-
在 SO 搜索
no rule to make target needed by中有大约 900 个结果。你想要更多的代表? -
不,我不想要更多的代表:)。但正如你提到的,有 900 个结果,在第 1 个 10 之后我放弃了(没有一个是我想要的)。
标签: qt compilation qt-creator qmake