2020-07-29 11:26 AM
I made a simple demo and was able to run it on my device (STM32H747I-DISCO v(1.0.0)) and I've been able to run it on the simulator. Since then, I've been building up the demo as a concept to show my company and I'm running into compile errors that I can't seem to fix. Here are the compile errors I receive, any help is appreciated!
Run Simulator
Generate
Done
Generate Assets
make -f simulator/gcc/Makefile assets -j8
Converting images
Done
Post Generate
touchgfx update_project --project-file=simulator/msvs/Application.vcxproj && touchgfx update_project --project-file=../EWARM/TouchGFX.ewp
Done
Compile
make -f simulator/gcc/Makefile -j8
Converting images
Compiling generated/fonts/src/Table_4822485673_60_4bpp.cpp
Compiling generated/fonts/src/Kerning_4822485673_60_4bpp.cpp
Compiling generated/fonts/src/CachedFont.cpp
Compiling generated/fonts/src/Table_verdana_40_4bpp.cpp
Compiling generated/fonts/src/Table_verdana_20_4bpp.cpp
Compiling generated/fonts/src/ApplicationFontProvider.cpp
generated/fonts/src/Table_4822485673_60_4bpp.cpp: In function 'touchgfx::GeneratedFont& getFont_4822485673_60_4bpp()':
generated/fonts/src/Table_4822485673_60_4bpp.cpp:22:36: error: expected unqualified-id before numeric constant
static touchgfx::GeneratedFont 4822485673_60_4bpp(glyphs_4822485673_60_4bpp, 0, 60, 0, 4, 1, 0, 0, unicodes_4822485673_60_4bpp, kerning_4822485673_60_4bpp, 63, 0, 0);
^~~~~~~~~~~~~~~~~~
generated/fonts/src/Table_4822485673_60_4bpp.cpp:23:12: error: unable to find numeric literal operator 'operator""_60_4bpp'
return 4822485673_60_4bpp;
^~~~~~~~~~~~~~~~~~
make[2]: *** [build/MINGW32_NT-6.2/generated/fonts/src/Table_4822485673_60_4bpp.o] Error 1
simulator/gcc/Makefile:214: recipe for target 'build/MINGW32_NT-6.2/generated/fonts/src/Table_4822485673_60_4bpp.o' failed
make[2]: *** Waiting for unfinished jobs....
simulator/gcc/Makefile:176: recipe for target 'generate_assets' failed
make[1]: *** [generate_assets] Error 2
simulator/gcc/Makefile:37: recipe for target 'all' failed
make: *** [all] Error 2
Failed
And here is my run target
Run Target
Generate
Done
Generate Assets
make -f simulator/gcc/Makefile assets -j8
Converting images
Done
Post Generate
touchgfx update_project --project-file=simulator/msvs/Application.vcxproj && touchgfx update_project --project-file=../EWARM/TouchGFX.ewp
Done
Compile
make -f ../gcc/Makefile -j8
STM32CubeProgrammer is placed in Program Files
STM32CubeProgrammer is placed in Program Files
Converting images
STM32CubeProgrammer is placed in Program Files
Compiling TouchGFX/generated/fonts/src/Table_4822485673_60_4bpp.cpp
TouchGFX/generated/fonts/src/Table_4822485673_60_4bpp.cpp: In function 'touchgfx::GeneratedFont& getFont_4822485673_60_4bpp()':
TouchGFX/generated/fonts/src/Table_4822485673_60_4bpp.cpp:22:36: error: expected unqualified-id before numeric constant
static touchgfx::GeneratedFont 4822485673_60_4bpp(glyphs_4822485673_60_4bpp, 0, 60, 0, 4, 1, 0, 0, unicodes_4822485673_60_4bpp, kerning_4822485673_60_4bpp, 63, 0, 0);
^~~~~~~~~~~~~~~~~~
TouchGFX/generated/fonts/src/Table_4822485673_60_4bpp.cpp:23:12: error: unable to find numeric literal operator 'operator""_60_4bpp'
return 4822485673_60_4bpp;
^~~~~~~~~~~~~~~~~~
gcc/Makefile:373: recipe for target 'TouchGFX/build/STM32H747I_DISCO/TouchGFX/generated/fonts/src/Table_4822485673_60_4bpp.o' failed
make[2]: *** [TouchGFX/build/STM32H747I_DISCO/TouchGFX/generated/fonts/src/Table_4822485673_60_4bpp.o] Error 1
gcc/Makefile:340: recipe for target 'generate_assets' failed
make[1]: *** [generate_assets] Error 2
../gcc/Makefile:47: recipe for target 'all' failed
make: *** [all] Error 2
Failed
Failed
2020-07-30 02:56 AM
Hello,
Could you provide the UI code in order to investigate ? It's a problem with the font but I don't know what exactly just from looking at the compiling errors as I don't have any context.
/Alexandre
2020-07-30 08:22 AM
Hi Alexandre,
For some reason if you use Agency FB font, it names the typograph with a bunch of numbers in the code which caused the error. When I use Agency FB Bold it names it AgencyFBBold, so I just switched all my fonts over to that to resolve the issue. It also gets mad if I use in-between sizes like 35, it's like it has to be an even number. (which is probably for rendering fonts the correct size on a embedded display).
2020-07-31 04:39 AM
Hello,
Thank you for the feedback. We will look into it.
Glad you found a workaround.
/Alexandre