Bonjour,

Je compile avec mingw un programme qui utilise boost.

J'ai les warnings suivants :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
C:/Program Files/boost/boost_1_45_0/boost/smart_ptr/detail/lwm_win32_cs.hpp:46:93: warning: declaration of 'void boost::detail::InitializeCriticalSection(boost::detail::critical_section*)' with C language linkage
C:/Program Files/boost/boost_1_45_0/boost/signals2/detail/lwm_win32_cs.hpp:49:49: warning: conflicts with previous declaration 'void boost::signals2::InitializeCriticalSection(boost::signals2::critical_section*)'
Si je comprends bien cela vient des 2 includes suivants :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
#include <boost/signals2.hpp>
...
#include <boost/archive/xml_iarchive.hpp>
, qui par inclusions successives en viennent à déclarer la même fonction mais dans des namespaces différents et des arguments de namespaces différents.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
void boost::detail::InitializeCriticalSection(boost::detail::critical_section*)
void boost::signals2::InitializeCriticalSection(boost::signals2::critical_section*)
Pourtant il y a conflit. Comment ça se fait ?

Est-ce que cela veut dire que le compilateur risque de se mélanger les pédales ? Et comment puis-je faire pour résoudre le warning ?

Par ailleurs je ne comprends pas le "with C language linkage".

Merci

Flo.