Other Parts Discussed in Thread: HALCOGEN
Tool/software: TI C/C++ Compiler
I am attempting to deploy a program onto a TMS570 dev board that utilizes the Eigen3 linear algebra library. I am running into compilation errors that I cannot seem to track down. I have found similar questions posted on the forums, but none provide solutions. Setup details:
CCSv8
HALCoGen v04.07.00
Compiler Version: ti-cgt-arm_18.1.3.LTS
Compiler Options:
"/opt/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/bin/armcl" -mv7R5 --code_state=32 --float_support=VFPv3D16 --include_path="/home/lpapincak/workspace_v8/RTP_TEST" --include_path="/home/lpapincak/Projects/real-time-inference/rtie/inc" --include_path="/usr/local/include/eigen3" --include_path="/opt/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/include" --include_path="/home/lpapincak/workspace_v8/RTP_TEST/include" -g --c99 --c++14 --preproc_with_comment --preproc_with_compile --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi --obj_directory="source" "../source/HL_sys_main.cpp"
The errors I am currently getting when trying to include Eigen/Core in my HL_sys_main.cpp is as follows, they disappear when I comment #include Eigen/Core out,
>> Compilation failure source/subdir_rules.mk:224: recipe for target 'source/HL_sys_main.obj' failed "/opt/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/include/libcxx/__string", line 269: error #121: return value type does not match the function type "/opt/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/include/libcxx/__string", line 375: error #121: return value type does not match the function type "/usr/local/include/eigen3/Eigen/src/Core/products/Parallelizer.h", line 20: warning #552-D: variable "m_maxThreads" was set but never used 2 errors detected in the compilation of "../source/HL_sys_main.cpp". gmake: *** [source/HL_sys_main.obj] Error 1 gmake: Target 'all' not remade because of errors.
Some of the things I have done so far to eliminate other errors for reference
1) Initial issue was from Eigen library complaining about knowing the compiler's version of __attribute__((aligned(n))) in Macros.h. I replaced the #error on line 665 with the ARM equivalent macro ( #define EIGEN_ALIGN_TO_BOUNDARY(n) __attribute__((algined(n))) )
2) I've renamed my source file to have the .cpp extension
3) I've selected c++14 and c99