cancel
Showing results for 
Search instead for 
Did you mean: 

Hello, I download the material available in the example about workshop2020 touchFX in youtube link: https://www.youtube.com/watch?v=rYrRjXyAYvs Compiling with STCubeIDE the projects generates some error.

EMir.1
Associate II

I unzip the project STM32H7BWorkshop2020_labs12 i open the touchGFX project with new version 4.17. I apply  the advice suggested to convert project from vers 4.13 to 4.17 e regenerate the code.

then i open STmCUBE IDE but when i built the project it generates this error:

c:\st\stm32cubeide_1.5.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: C:\TouchGFXProjects\Projects_Workshop\STM32H7BWorkshop2020_labs12\STM32H7BWorkshop2020\STM32CubeIDE\Middlewares\ST\touchgfx\lib\core\cortex_m7\gcc\libtouchgfx-float-abi-hard.a(LCD.o): in function `touchgfx::LCD::drawString(touchgfx::Rect, touchgfx::Rect const&, touchgfx::LCD::StringVisuals const&, unsigned short const*, ...)':

(.text._ZN8touchgfx3LCD10drawStringENS_4RectERKS1_RKNS0_13StringVisualsEPKtz+0x0): multiple definition of `touchgfx::LCD::drawString(touchgfx::Rect, touchgfx::Rect const&, touchgfx::LCD::StringVisuals const&, unsigned short const*, ...)'; ./Application/User/generated/Texts.o:C:/TouchGFXProjects/Projects_Workshop/STM32H7BWorkshop2020_labs12/STM32H7BWorkshop2020/TouchGFX/generated/texts/src/Texts.cpp:51: first defined here

c:\st\stm32cubeide_1.5.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: C:\TouchGFXProjects\Projects_Workshop\STM32H7BWorkshop2020_labs12\STM32H7BWorkshop2020\STM32CubeIDE\Middlewares\ST\touchgfx\lib\core\cortex_m7\gcc\libtouchgfx-float-abi-hard.a(Font.o): in function `touchgfx::Font::getStringWidth(unsigned short const*, ...) const':

(.text._ZNK8touchgfx4Font14getStringWidthEPKtz+0x0): multiple definition of `touchgfx::Font::getStringWidth(unsigned short const*, ...) const'; ./Application/User/generated/Texts.o:C:/TouchGFXProjects/Projects_Workshop/STM32H7BWorkshop2020_labs12/STM32H7BWorkshop2020/TouchGFX/generated/texts/src/Texts.cpp:14: first defined here

c:\st\stm32cubeide_1.5.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: C:\TouchGFXProjects\Projects_Workshop\STM32H7BWorkshop2020_labs12\STM32H7BWorkshop2020\STM32CubeIDE\Middlewares\ST\touchgfx\lib\core\cortex_m7\gcc\libtouchgfx-float-abi-hard.a(Font.o): in function `touchgfx::Font::getStringWidth(unsigned char, unsigned short const*, ...) const':

(.text._ZNK8touchgfx4Font14getStringWidthEhPKtz+0x0): multiple definition of `touchgfx::Font::getStringWidth(unsigned char, unsigned short const*, ...) const'; ./Application/User/generated/Texts.o:C:/TouchGFXProjects/Projects_Workshop/STM32H7BWorkshop2020_labs12/STM32H7BWorkshop2020/TouchGFX/generated/texts/src/Texts.cpp:23: first defined here

c:\st\stm32cubeide_1.5.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: C:\TouchGFXProjects\Projects_Workshop\STM32H7BWorkshop2020_labs12\STM32H7BWorkshop2020\STM32CubeIDE\Middlewares\ST\touchgfx\lib\core\cortex_m7\gcc\libtouchgfx-float-abi-hard.a(Font.o):(.rodata._ZTVN8touchgfx4FontE+0x0): multiple definition of `vtable for touchgfx::Font'; ./Application/User/generated/Texts.o:(.rodata._ZTVN8touchgfx4FontE+0x0): first defined here

c:\st\stm32cubeide_1.5.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: C:\TouchGFXProjects\Projects_Workshop\STM32H7BWorkshop2020_labs12\STM32H7BWorkshop2020\STM32CubeIDE\Middlewares\ST\touchgfx\lib\core\cortex_m7\gcc\libtouchgfx-float-abi-hard.a(TextProvider.o): in function `touchgfx::TextProvider::initializeInternal()':

(.text._ZN8touchgfx12TextProvider18initializeInternalEv+0x0): multiple definition of `touchgfx::TextProvider::initializeInternal()'; ./Application/User/generated/Texts.o:C:/TouchGFXProjects/Projects_Workshop/STM32H7BWorkshop2020_labs12/STM32H7BWorkshop2020/TouchGFX/generated/texts/src/Texts.cpp:46: first defined here

c:\st\stm32cubeide_1.5.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: C:\TouchGFXProjects\Projects_Workshop\STM32H7BWorkshop2020_labs12\STM32H7BWorkshop2020\STM32CubeIDE\Middlewares\ST\touchgfx\lib\core\cortex_m7\gcc\libtouchgfx-float-abi-hard.a(TextProvider.o): in function `touchgfx::TextProvider::getNextLigature(unsigned char)':

(.text._ZN8touchgfx12TextProvider15getNextLigatureEh+0x0): multiple definition of `touchgfx::TextProvider::getNextLigature(unsigned char)'; ./Application/User/generated/Texts.o:C:/TouchGFXProjects/Projects_Workshop/STM32H7BWorkshop2020_labs12/STM32H7BWorkshop2020/TouchGFX/generated/texts/src/Texts.cpp:32: first defined here

c:\st\stm32cubeide_1.5.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: ./Application/User/TouchGFX/target/TouchGFXHAL.o:(.rodata._ZTV11TouchGFXHAL+0x4c): undefined reference to `touchgfx::HAL::blitCopyWord(unsigned short const*, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short)'

c:\st\stm32cubeide_1.5.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: ./Application/User/TouchGFX/target/TouchGFXHAL.o:(.rodata._ZTV11TouchGFXHAL+0x50): undefined reference to `touchgfx::HAL::blitFillWord(unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short)'

c:\st\stm32cubeide_1.5.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: ./Application/User/TouchGFX/target/generated/TouchGFXConfiguration.o:(.rodata._ZTV19FrontendApplication[_ZTV19FrontendApplication]+0x30): undefined reference to `touchgfx::Application::requestRedraw()'

c:\st\stm32cubeide_1.5.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: ./Application/User/TouchGFX/target/generated/TouchGFXConfiguration.o:(.rodata._ZTV23FrontendApplicationBase[_ZTV23FrontendApplicationBase]+0x30): undefined reference to `touchgfx::Application::requestRedraw()'

c:\st\stm32cubeide_1.5.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: ./Application/User/TouchGFX/target/generated/TouchGFXConfiguration.o:(.rodata._ZTVN8touchgfx14MVPApplicationE[_ZTVN8touchgfx14MVPApplicationE]+0x30): undefined reference to `touchgfx::Application::requestRedraw()'

c:\st\stm32cubeide_1.5.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: ./Application/User/TouchGFX/target/generated/TouchGFXGeneratedHAL.o:(.rodata._ZTV20TouchGFXGeneratedHAL+0x4c): undefined reference to `touchgfx::HAL::blitCopyWord(unsigned short const*, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short)'

c:\st\stm32cubeide_1.5.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: ./Application/User/TouchGFX/target/generated/TouchGFXGeneratedHAL.o:(.rodata._ZTV20TouchGFXGeneratedHAL+0x50): undefined reference to `touchgfx::HAL::blitFillWord(unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short)'

c:\st\stm32cubeide_1.5.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: ./Application/User/generated/Screen1ViewBase.o: in function `Screen1ViewBase::Screen1ViewBase()':

C:/TouchGFXProjects/Projects_Workshop/STM32H7BWorkshop2020_labs12/STM32H7BWorkshop2020/TouchGFX/generated/gui_generated/src/screen1_screen/Screen1ViewBase.cpp:25: undefined reference to `touchgfx::AnimatedImage::startAnimation(bool, bool, bool)'

c:\st\stm32cubeide_1.5.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: ./Application/User/generated/Screen1ViewBase.o: in function `touchgfx::TextButtonStyle<touchgfx::ImageButtonStyle<touchgfx::ClickButtonTrigger> >::setText(touchgfx::TypedText)':

C:/TouchGFXProjects/Projects_Workshop/STM32H7BWorkshop2020_labs12/STM32H7BWorkshop2020/STM32CubeIDE/Debug/../../Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/TextButtonStyle.hpp:59: undefined reference to `touchgfx::TextArea::setTypedText(touchgfx::TypedText const&)'

collect2.exe: error: ld returned 1 exit status

make: *** [makefile:92: STM32H7B3I_DISCO.elf] Error 1

Why?

Also when unzipped folder STM32H7BWorkshop2020_labs123 i see the some error about temperatureBar.setXY. It seem that not generate something.. and compiler print out an undefine reference in both the projects..

thanks

Enal0693W00000FDZ8LQAX.png

13 REPLIES 13

The version 4.13 can be downloaded from the ST website.

But to be fair I don't recommend using it. There were changes to some important fonctions since 4.13 which would require some manual change to that project, it would be better to follow the workshop using TouchGFX 4.17 directly (or 4.18 which was released last week) and use the TouchGFX Board Setup (new name for Aplication Template) for the STM32H7B3-dk.

/Romain

EMir.1
Associate II

Thanks for your advices Roman.

Like write above there are some problems with touch GFX Designer 4.17. (see the errors)

I will try with v 4.18. and i will update you.

thanks

Enal

From your screenshots I understood that it was a project you downloaded and then upgraded, is it not the case ? If yes I meant that you shouldn't bother downloading that project or importing generated files to it. Just start with the TBS for the STM32H7B3dk available in Designer and follow the workshop.

/Romain

EMir.1
Associate II

Yes Romain,

Rebuild the project from zero, using touchGFX 4.18.0, like you adviced me, the project work correctly.

I had solved a couples of months ago.

thanks

happy new year!

Enal