Skip to main content
KNara.2
Associate III
June 12, 2023
Solved

error: 'blendL8CLUT' was not declared in this scope

  • June 12, 2023
  • 2 replies
  • 1485 views

I have upgraded Touchgfx designer to latest version 4.21.4 .

I created a new project and in the screen added a new line progress bar.

I encountered linker errors

c:\st\stm32cubeide_1.10.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_1.0.0.202111181127\tools\arm-none-eabi\bin\ld.exe: (.text._ZNK8touchgfx19PainterRGB888Bitmap5paintEPhssssh+0xfa): undefined reference to `touchgfx::paint::rgb888::lineFromARGB8888(unsigned char*, unsigned long const*, unsigned int, unsigned char)'

collect2.exe: error: ld returned 1 exit status

make: *** [makefile:100: EVK043013B.elf] Error 1

and hence as per the FAQ suggestion included

#include <touchgfx/hal/PaintRGB888Impl.hpp>

in the view.cpp file.

Which in turn leads me to this error:

/../Middlewares/ST/TouchGFX/touchgfx/framework/include/touchgfx/hal/PaintRGB888Impl.hpp:140:35: error: 'blendL8CLUT' was not declared in this scope.

Is this a known issue in the latest Touchgfx version?

How to resolve this issue with line progress bar widget?

This topic has been closed for replies.
Best answer by Osman SOYKURT

Hello KNara.2,

The process to upgrade a project to a new version of TouchGFX needs to include code regeneration in STM32CubeMX. So if your project was created originally with TouchGFX 4.20 for example, and you upgrade it to 4.21, you have to regenerate code with STM32CubeMX as well :)

Hope it helps.

/Osman

2 replies

KNara.2
KNara.2Author
Associate III
June 13, 2023

I got the solution.

So whenever someone uses the line progress widget....apart from including

#include <touchgfx/hal/PaintRGB565Impl.hpp> // 16bpp painting routines or

#include <touchgfx/hal/PaintRGB888Impl.hpp> // 24bpp painting routines

One needs to include

#include <touchgfx/hal/PaintImpl.hpp>

This resolved compiler errors.

So "Known Issues" for Touchgfx for 4.21.4 needs to be updated.

Osman SOYKURT
Osman SOYKURTBest answer
ST Technical Moderator
June 13, 2023

Hello KNara.2,

The process to upgrade a project to a new version of TouchGFX needs to include code regeneration in STM32CubeMX. So if your project was created originally with TouchGFX 4.20 for example, and you upgrade it to 4.21, you have to regenerate code with STM32CubeMX as well :)

Hope it helps.

/Osman

ST Software Developer | TouchGFX