When we add the eigen library and the arm-build, then there’s some conflicting about typedef.
So I checked that
-
Eigen library(Core) include arm_neon.h when we build for arm.
-
In arm_neon.h (line:71), there’s “typedef __fp16 float16_t”
and
- In dw/Types.h(line:84), there’s also “typedef__half float16_t”
Both libraries declare the “float16_t”. so it makes some conflict.
How to handle that problem?
My error messages are below, thank you.
/home/jw31/nvidia/nvidia_sdk/DRIVE_Software_9.0_Linux_hyperion_E3550/DriveSDK/toolchains/gcc-linaro-5.4.1/lib/gcc/aarch64-linux-gnu/5.4.1/include/arm_neon.h: At global scope:
/home/jw31/nvidia/nvidia_sdk/DRIVE_Software_9.0_Linux_hyperion_E3550/DriveSDK/toolchains/gcc-linaro-5.4.1/lib/gcc/aarch64-linux-gnu/5.4.1/include/arm_neon.h:71:16: error: conflicting declaration ‘typedef __fp16 float16_t’
typedef __fp16 float16_t;
^
In file included from /home/jw31/nvidia/nvidia_sdk/DRIVE_Software_9.0_Linux_hyperion_E3550/DriveSDK/drive-t186ref-linux/targetfs/usr/local/driveworks-2.0/targets/aarch64-Linux/include/dw/core/Context.h:49:0,
from /home/jw31/workspace/bbav/bbav-282/app/framework.hpp:4,
from /home/jw31/workspace/bbav/bbav-282/app/framework.cpp:1:
/home/jw31/nvidia/nvidia_sdk/DRIVE_Software_9.0_Linux_hyperion_E3550/DriveSDK/drive-t186ref-linux/targetfs/usr/local/driveworks-2.0/targets/aarch64-Linux/include/dw/core/Types.h:84:16: note: previous declaration as ‘typedef struct __half float16_t’
typedef __half float16_t;
^