можно ли перенести Eigen, библиотеку шаблонов C ++ для линейной алгебры, в рабочую среду IAR для ARM. Я пытался сделать это, но получаю следующие ошибки компиляции
Error[Pe337]: linkage specification is incompatible with previous "__nounwind __iar_builtin_get_CONTROL" (declared at line 58 of "C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.3\arm\inc\c\iccarm_builtin.h") C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.3\arm\CMSIS\Core\Include\cmsis_gcc.h 151
Это вся ошибка, которую я получаю, когда использую препроцессоры
__GNUC__
__arm__
если Я не использую эти препроцессоры. Я получаю сообщение об ошибке из препроцессора #error из файла Macros.h
"error. Скажите, пожалуйста, что эквивалентно атрибуту ((выровнено (n) )) для вашего компилятора "
#if (defined __CUDACC__)
#define EIGEN_ALIGN_TO_BOUNDARY(n) __align__(n)
#elif EIGEN_COMP_GNUC || EIGEN_COMP_PGI || EIGEN_COMP_IBM || EIGEN_COMP_ARM
#define EIGEN_ALIGN_TO_BOUNDARY(n) __attribute__((aligned(n)))
#elif EIGEN_COMP_MSVC
#define EIGEN_ALIGN_TO_BOUNDARY(n) __declspec(align(n))
#elif EIGEN_COMP_SUNCC
// FIXME not sure about this one:
#define EIGEN_ALIGN_TO_BOUNDARY(n) __attribute__((aligned(n)))
#else
//#define EIGEN_ALIGN_TO_BOUNDARY(n) __declspec(align(n))
#error Please tell me what is the equivalent of __attribute__((aligned(n))) for your compiler
#endif
У меня он работает для Visual C ++, но не для IAR. Все включения добавлены.
Эти ошибки меняются в зависимости от препроцессоров, которые я использую для настройки Eigen. Можно ли использовать Eigen с IAR?