我的 Makefile 有问题。我下载了开源 Qt 项目。因此,当我尝试编译它时,我收到一条消息:
error: No rule to make target needed by stop.
在我的.pro
文件中,我有文件的相对路径*.cpp
。因此,当我将相对路径替换为绝对路径时,它可以工作,另一种情况是它让我遇到了上面的错误。系统是Linux。
我应该怎么做才能使用相对路径完成这项工作?
我会使用 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 文件,而不是更改相对路径...
高温高压
此问题的一个原因是您删除了不再需要但忘记从 res.qrc 中删除的文件
我有同样的错误。我的专业档案是
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 后删除反斜杠对我有帮助
我遇到了这个问题,这是因为我在 Projects>Build & Run 下选择了错误的工具包