Your build environment is newer than your runtime environment, this will never work. If it would be reversed, there are chances it would work, but since your application uses C++, there is a chance of an ABI break between these 3 major version jumps.
There is the possibility to link glibc and libstdc++ statically with the -static option, but this is highly discouraged and your planned use case is one of the major reasons why it is. You can try a statically linked version of your application, if you are lucky, it crashes right away on start. If you are unlucky, you get totally weird defects during runtime.
TL;DR: No, you won't be able to build a working binary on your dev system for the target system. Depending on the complexity of your application (what build system, can you build it with a standard cli build system) and its external dependencies (what libraries and other tools are required), either build it directly on the target system or setup a matching build environment on your dev system (vm, container, cross-compiling).