我的 Makefile 有问题。我下载了开源 Qt 项目。因此,当我尝试编译它时,我收到一条消息:
error: No rule to make target needed by stop.
在我的
.pro
文件中,我有 *.cpp
文件的相对路径。因此,当我将相对路径替换为绝对路径时,它会起作用,另一种情况会出现上述错误。
系统是Linux。
我应该怎么做才能使用相对路径来完成这项工作?
我会使用 QtCreator,打开项目,然后添加一个放错位置的源(假设您在 .pro 中看到的第一个源)。
IDE 应根据您的文件夹选择将其放置在“正确”相对路径中。之后,将路径前缀剪切并粘贴到其余位置。 无论如何,路径前缀应该相对于您找到 .pro 的目录。我正在使用的开源项目的示例(QZXIng,ZXing 的 Qt 端口):
SOURCES += CameraImageWrapper.cpp \
QZXing.cpp \
imagehandler.cpp \
zxing/ResultPointCallback.cpp \
zxing/ResultPoint.cpp \
zxing/Result.cpp \
...
因此您可以尝试将 .pro 文件移动到适当的位置,而不是更改相对路径...
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 之后删除反斜杠对我有帮助
Open terminal:
ls -a
rm -rf .qmake.stash
rm -rf .qmake.cache