erreur de compilation gcc à /usr/include/net/if.h en C ++

Im utilisant la version 4.4.1 de gcc, xmake version 2.17.3. J’ai l’erreur suivante lors de la compilation.

`

In file included from /rtcigp/run/pd/ACE/6.0.7_x86/64Opt/include/ace/os_include/net/os_if.h:28, from /rtcigp/run/pd/ACE/6.0.7_x86/64Opt/include/ace/OS_NS_sys_socket.h:29, from /rtcigp/run/pd/ACE/6.0.7_x86/64Opt/include/ace/ACE.inl:8, from /rtcigp/run/pd/ACE/6.0.7_x86/64Opt/include/ace/ACE.h:886, from /rtcigp/run/pd/ACE/6.0.7_x86/64Opt/include/ace/Ssortingng_Base.cpp:6, from /rtcigp/run/pd/ACE/6.0.7_x86/64Opt/include/ace/Ssortingng_Base.h:882, from /rtcigp/run/pd/ACE/6.0.7_x86/64Opt/include/ace/SSsortingng.h:23, from /rtcigp/run/pd/ACE/6.0.7_x86/64Opt/include/tao/CDR.h:61, from /rtcigp/run/pd/ACE/6.0.7_x86/64Opt/include/tao/UB_Ssortingng_Argument_T.cpp:7, from /rtcigp/run/pd/ACE/6.0.7_x86/64Opt/include/tao/UB_Ssortingng_Argument_T.h:177, from /rtcigp/run/pd/ACE/6.0.7_x86/64Opt/include/tao/Any_Insert_Policy_T.h:18, from /rtcigp/run/pd/ACE/6.0.7_x86/64Opt/include/tao/Basic_Arguments.h:25, from /rtcigp/run/pd/ACE/6.0.7_x86/64Opt/include/tao/IOPC.h:52, from /rtcigp/run/pd/ACE/6.0.7_x86/64Opt/include/tao/Object.h:23, from /rtcigp/run/pd/ACE/6.0.7_x86/64Opt/include/TAO/corba.h:39, from ../../include/processors/chat/ms_chat.h:18, from ../../include/processors/chat/forging.h:9, from /home/akilis/ktph/leaf/src/ktph/processors/chat/src/forging.cpp:6: /usr/include/net/if.h: At global scope: /usr/include/net/if.h:99: error: template argument required for 'struct map' 

`

J’ai trouvé une solution à ce problème. J’ai inclus avant tous les autres inclus, comme suggéré. Mais cela ne résout pas le problème. Je reçois toujours la même erreur.

mon ../../include/processors/chat/forging.h:9 se présente comme ci-dessous

`

  9 #include "processors/chat/ms_chat.h" 10 #include  11 // chat 12 #include  13 #include  14 #include  15 // 16 #include "env/GenericMapper.h" 17 18 using namespace std; 

`

alors /rtcigp/run/pd/ACE/6.0.7_x86/64Opt/include/ace/os_include/net/os_if.h:28 se présente comme suit

`

 27 #if !defined (ACE_LACKS_NET_IF_H) 28 # include /**/  29 # if defined (ACE_HAS_NET_IF_DL_H) 30 # include /**/  31 # endif /* ACE_HAS_NET_IF_DL_H */ 

`

La particularité est que ce code comstack sans aucun problème dans solaris CC. Le problème n’apparaît que lorsque je comstack avec gcc.

Est-ce que j’ai râté quelque chose? Devrait-il y avoir des changements dans le code lors du passage à CC depuis CC? Ou est-ce un bug dans le compilateur gcc qui a été corrigé dans les versions ultérieures?