Hi;
I have built 'Compute Library' as said in Bare Metal Building section of documentation by using Linaro toolchain on Ubuntu. I'm targetting bare-metal.
On another machine, I want to use this library but this machine has an Arm Compiler 6 version and I want to use it as my toolchain.
While linking, I get errors like
L6242E: Cannot link object <objname> as its attributes are incompatible with the image attributes.
it says packed-enum is not compatible with enum_is_int.
I tried to play with compiler option, -fshort-enums, -fno-short-enums but couldn't succeded.
So my question is, is it possible to call methods from a library that is build by Linaro Toolchain from another executable that is build by Arm Compiler 6(armclang).
If possible, Which options should I set?
Hello Yunus,
The Compute Library is using the C++ standard library and exception handling thus you should be careful when mixing GCC and Armclang as they might have different implementation and could lead to link/run-time issues.
However, you could compile Compute Library with Armclang and then use it. I tried myself to build it but unfortunately some build issues emerged that are most likely trivial to fix.We are looking in creating a patch and supporting armclang for building Compute Library. We will push the patch in our development repository here and update you once done.Hope this helps.
Best Regards,
George