cancel
Showing results for 
Search instead for 
Did you mean: 

error: 'blendL8CLUT' was not declared in this scope

KNara.2
Associate III

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?

1 ACCEPTED SOLUTION

Accepted Solutions
Osman SOYKURT
ST Employee

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

Osman SOYKURT
ST Software Developer | TouchGFX

View solution in original post

2 REPLIES 2
KNara.2
Associate III

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
ST Employee

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

Osman SOYKURT
ST Software Developer | TouchGFX