Hi,
I'm using Syslink 2.10.02.17 library built for dm8148-evm with Code Sourcery Lite 2009q1-203 version.
When trying to build my Linux/ARM C++ application for the board using the library and Code Sourcery g++ (same version),
I get the following errors:
[...]/syslink_2_10_02_17/packages/ti/syslink/SysLink.h:222: error: '<anonymous>' has incomplete type
[...]/syslink_2_10_02_17/packages/ti/syslink/SysLink.h:222: error: invalid use of 'Void'
[...]/syslink_2_10_02_17/packages/ti/syslink/SysLink.h:232: error: '<anonymous>' has incomplete type
[...]/syslink_2_10_02_17/packages/ti/syslink/SysLink.h:232: error: invalid use of 'Void'
I did a quick research and found out that according to C++ standard declaring a function with no parameters using typedef of void is illegal
(void being a keyword here and not a type). GCC since 4.2.0 version started to enforce this particular standard, hence the error.
For more details please see here:
http://stackoverflow.com/questions/540748/void-void-c-and-c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32364
[edit]
Another related issue:
[...]/syslink_2_10_02_17/packages/ti/syslink/utils/IHeap.h:131: error: using typedef-name 'IHeap_Object' after 'struct'
[...]/syslink_2_10_02_17/packages/ti/syslink/utils/IHeap.h:126: error: 'IHeap_Object' has a previous declaration here
[...]/syslink_2_10_02_17/packages/ti/syslink/utils/IHeap.h:131: error: invalid type in declaration before ';' token
Any suggestions?