Skip to main content
EMir.1
Associate III
October 24, 2021
Question

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.

  • October 24, 2021
  • 13 replies
  • 5810 views

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

This topic has been closed for replies.

13 replies

EMir.1
EMir.1Author
Associate III
January 3, 2022

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