18

我的 Makefile 有问题。我下载了开源 Qt 项目。因此,当我尝试编译它时,我收到一条消息:

error: No rule to make target needed by stop.

在我的.pro文件中,我有文件的相对路径*.cpp。因此,当我将相对路径替换为绝对路径时,它可以工作,另一种情况是它让我遇到了上面的错误。系统是Linux。


我应该怎么做才能使用相对路径完成这项工作?

4

4 回答 4

13

我会使用 QtCreator,打开项目,然后添加一个放错位置的源(比如说你在 .pro 中看到的第一个)。

IDE 应根据您的文件夹选择将其放置在正确的相对路径中。在那之后,将路径前缀剪切'n'粘贴到所有剩余的地方。

无论如何,路径前缀应该相对于您找到 .pro 的目录。我正在使用的一个开源项目的示例(QZXIng,ZXing 的 Qt 端口):

SOURCES += CameraImageWrapper.cpp \
    QZXing.cpp \
    imagehandler.cpp \
    zxing/ResultPointCallback.cpp \
    zxing/ResultPoint.cpp \
    zxing/Result.cpp \
    ...

因此您可以尝试在适当的位置移动 .pro 文件,而不是更改相对路径...

高温高压

于 2013-06-18T12:10:53.403 回答
5

此问题的一个原因是您删除了不再需要但忘记从 res.qrc 中删除的文件

于 2017-12-23T14:33:07.883 回答
4

我有同样的错误。我的专业档案是

HEADERS       = \
                charectertranformer.h \
                filereader.h \
                svgview.h \
                threadfilereader.h \
                serverworker.h \
                renderserver.h
SOURCES       = \
                charectertranformer.cpp \
                filereader.cpp \
                main.cpp \
                svgview.cpp \
                threadfilereader.cpp \
                serverworker.cpp \
                renderserver.cpp \
QT += concurrent
QT += opengl
QT += network
QT += svg
CONFIG -= console
#CONFIG += warn_off exceptions_off
#qmake -svgviewer.pro

在 renderserver.cpp 后删除反斜杠对我有帮助

于 2021-01-21T09:03:21.593 回答
1

我遇到了这个问题,这是因为我在 Projects>Build & Run 下选择了错误的工具包

于 2020-09-22T19:57:53.103 回答