Qt : No rule to make target '../controlpanel.ui', needed by 'ui_controlpanel.h'. Stop
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:
Go to that directory and delete everything you find. Qt will simply recreate all the files it needs to rebuild your project.
covernal
Updated on June 16, 2022Comments
-
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