Qt, нет правила, чтобы цель была необходима

У меня проблема с моим Makefile. Я загрузил проект Qt с открытым исходным кодом. Следовательно, когда я пытаюсь скомпилировать его, я получил сообщение: "error: No rule to make target, необходимое для остановки". В моем файле .pro у меня есть относительные пути к файлам *.cpp. Поэтому, когда я заменяю относительные пути на абсолютное, это работает, в другом случае он получил ошибку выше. Система Linux


Что мне делать, чтобы делать эту работу с относительными путями? Спасибо заранее.

Ответ 1

Я бы использовал QtCreator, открыв проект, а затем добавив один из неулокальных источников (скажем, первый, который вы видите в .pro).

Среда IDE должна размещать ее с правильным относительным путем в соответствии с выбором папки. После этого cut'n'paste префикс пути во всех оставшихся местах.

В любом случае, префиксы пути должны быть относительно каталога, в котором вы найдете .pro. Пример из проекта с открытым исходным кодом, который я использую (QZXIng, порт Qt ZXing):

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

затем вы пытаетесь сделать файл .pro, где это уместно, вместо изменения относительных путей...

НТН

Ответ 2

Одной из причин этой проблемы является то, что вы удалили файл, который вам больше не нужен, но забыли удалить из res.qrc