Trying to make a new project in TouchGFX sometimes occurs in below error:
DoubleBufferedVideoController<1, 1024, 600, 1024*3U, Bitmap::RGB888> videoController;
^~~~~~~~~~~~~~~
In file included from CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp:26:0:
CM7/TouchGFX/target/generated/DoubleBufferedVideoController.hpp:49:7: note: because the following virtual functions are pure within ‘DoubleBufferedVideoController<1, 1024, 600, 3072, (touchgfx::Bitmap::BitmapFormat)1>’:
class DoubleBufferedVideoController : public touchgfx::VideoController
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from CM7/TouchGFX/target/generated/MJPEGDecoder.hpp:22:0,
from CM7/TouchGFX/target/generated/HardwareMJPEGDecoder.hpp:21,
from CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp:25:
CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/VideoController.hpp:219:18: note: virtual void touchgfx::VideoController::setVideoFrameRateCompensation(bool)
virtual void setVideoFrameRateCompensation(bool allow) = 0;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc/makefile_cm7:503: recipe for target ‘CM7/TouchGFX/build/Riverdi_70STM32H7/CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.o’ failed
make[3]: *** [CM7/TouchGFX/build/Riverdi_70STM32H7/CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.o] Error 1
make[3]: Leaving directory ‘c:/Users/cliff/Dropbox/microTOC/MicroTOCDisplayDesign/MyApplication27’
gcc/makefile_cm7:438: recipe for target ‘generate_assets’ failed
make[2]: *** [generate_assets] Error 2
make[2]: Leaving directory ‘c:/Users/cliff/Dropbox/microTOC/MicroTOCDisplayDesign/MyApplication27’
Makefile_cm7:51: recipe for target ‘all’ failed
make[1]: *** [all] Error 2
make[1]: Leaving directory ‘C:/Users/cliff/Dropbox/microTOC/MicroTOCDisplayDesign/MyApplication27/gcc’
../../gcc/Makefile:10: recipe for target ‘flash’ failed
make: *** [flash] Error 2
Failed
Failed
Below is the short solution on how to fix the above issue.
First step is to open .ioc file with STM32CubeIDE.
Middleware and Software Packs -> TouchGFX -> TouchGFX generator
Second step is to set vector rendering to Software (hardware will give same issue) and video decoding to be hardware.
By following these steps, the project should compile without any issue.