Qt : No rule to make target '../controlpanel.ui', needed by 'ui_controlpanel.h'. Stop

10,326

Solution 1

I got the solution.

On Qt Creator, go into "Projects Tab", then you can see "Shadow build". Uncheck this and compile. The error disappears.

Solution 2

covernal's answer works fine if you are only targeting one platform. If, however, you are compiling for multiple platforms (e.g., Desktop & Android) you can keep doing the shadow build. Here's how I fixed it:

Find the project's build directory from the Projects tab: enter image description here

Go to that directory and delete everything you find. Qt will simply recreate all the files it needs to rebuild your project.

Share:
10,326
covernal
Author by

covernal

Updated on June 16, 2022

Comments

  • covernal
    covernal about 2 years

    I met very strange problem on the Qt Creator.

    :-1: error: No rule to make target '../controlpanel.ui', needed by 'ui_controlpanel.h'.  Stop.
    
    
    mingw32-make[1]: *** No rule to make target '../controlpanel.ui', needed by 'ui_controlpanel.h'.  Stop.
    mingw32-make: *** [debug] Error 2
    makefile:34: recipe for target 'debug' failed
    22:43:11: The process "C:\Qt\Qt5.4.0\Tools\mingw491_32\bin\mingw32-make.exe" exited with code 2.
    

    This project compiled well before. But now I got compile error. I use Qt creator 5.4.0 on Windows.

    And specially, this project compiled without any error on the Qt Creator 5.4.0 of Mac version.

    What was wrong? How can I solve this error?

    This is a qmake file.

    QT       += core gui opengl network multimedia
    
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
    
    TARGET = LaserdockVisualizer
    TEMPLATE = app
    INCLUDEPATH += .
    
    # dwarf-2 for profiling
    #QMAKE_CXXFLAGS += -gdwarf-2
    
    include(../../LaserdockCore/LaserdockCore.pri)
    QMAKE_MAC_SDK = macosx10.10
    
    SOURCES += \
        main.cpp \
        LaserdockVisualizer/LaserdockVisualizerDelegate.cpp \
        LaserdockVisualizer/Form/LaserdockMainWindow.cpp \
        ...
        LaserdockVisualizer/Visualizations/Visualizers/Appakabar/Test/ldAppakabarTestSoundEventUtilVisualizer.cpp \
        LaserdockVisualizer/Visualizations/Visualizers/Appakabar/Test/ldAppakabarTestSoundEventUtilVisualizerControlPanel.cpp
    
    HEADERS += \
        LaserdockVisualizer/LaserdockVisualizerDelegate.h \
        LaserdockVisualizer/Form/LaserdockMainWindow.h \
        ...
        LaserdockVisualizer/Visualizations/Visualizers/Appakabar/Test/ldAppakabarTestSoundEventUtilVisualizer.h \
        LaserdockVisualizer/Visualizations/Visualizers/Appakabar/Test/ldAppakabarTestSoundEventUtilVisualizerControlPanel.h
    
    
    FORMS += \
        LaserdockVisualizer/Form/LaserdockMainWindow.ui \
        LaserdockVisualizer/Form/ldVisualizerControlPanelEmpty.ui \
        LaserdockVisualizer/Visualizations/Visualizers/ld3dCubeVisualizerControlPanel.ui \
        LaserdockVisualizer/Visualizations/Visualizers/Test/ldTestControlVisualizerControlPanel.ui \
        LaserdockVisualizer/Visualizations/Visualizers/Feldspar/ldWalkerVisualizerControlPanel.ui \
        LaserdockVisualizer/Visualizations/Visualizers/Test/ldTestCircleVisualizerControlPanel.ui \
        LaserdockVisualizer/Visualizations/Visualizers/Feldspar/test/ldMusicReactorTestVisualizerControlPanel.ui \
        LaserdockVisualizer/Visualizations/Visualizers/Feldspar/test/ldFrameTestVisualizerControlPanel.ui \
        LaserdockVisualizer/Visualizations/Visualizers/Appakabar/Test/ldappakabartestsoundeventutilvisualizercontrolpanel.ui