Bonjour,

J'ai finalement réussi à "compiler Boost-log v1 avec Boost 1_46_1 en utilisant MinGW 4.4.0 sos Windows 7".

Voici le mail que je viens de poster sur la liste de diffusion boost pour expliquer comment j'ai fait.
Je l'ai traduit ici.

Vu le temps que ça m'a pris, j'espère que j'aurais au moins un vote ou deux pour gagner des "points forum".

-------------- Erreur 1 --------------
Titre: Compiler Boost_log v1 avec Boost 1_46_1 qui inclus Filesystem v3

Symptome :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
error: 'external_string_type' is not a member of 'boost::filesystem3::wpath'
Fix : utiliser Filesystem_version 2. L'explication ici
Ne pas oublier, dans les paramètres du projet qui utilisera boost log de définir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
#define BOOST_FILESYSTEM_VERSION 2
-------------- Erreur 2 --------------
Titre : Using windows path

Symptome : une longue ligne d'erreur qui contient
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
"C:\Program" n'est pas reconnu comme une commande interne
Fix : réinstaller MinGW, en utilisant un chemin sans espace (typiquement pas c:\program files\..., mais plutot c:\programmes\...)

-------------- Erreur 3 --------------
Titre : Peut-être un bug de boost log v1

Symptome :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
libs\log\src\event_log_backend.cpp:55: error: external linkage required for symbol 'boost::log_mt_nt5::sinks::event_log::success' because of 'dllexport' attribute
Fix (pas très glorieux) : Modifier les lignes 55/56/57/58 le fichier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
libs\log\src\event_log_backend.cpp
De cette forme-ci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
BOOST_LOG_EXPORT const event_type_t ...
vers cette forme là :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
extern BOOST_LOG_EXPORT const event_type_t ...
-------------- Erreur 4 --------------
Titre : retour de l'erreur 1

Symptome : le fix de l'erreur 1 ne semble pas marcher en release, juste en debug.

Fix : Je n'ai rien fait : j'utilise les version debug des dll.
Ce qui implique que j'utilise aussi la version debug de boost::filesystem, boost::system, boost::thread et boost::regex.

-------------- Erreur 5 --------------
Titre : linker mon projet qui utilise boost log en monothread alors qu'il faut (pourquoi je ne suis pas sur) le linker en multi threadé

Symptome :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
undefined reference to `boost::log_mt_nt5::basic_attribute_set<char>::~basic_attribute_set()'
Fix : Dans les paramètres de link du projet, remplacer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
libboost_log-mgw44-d-1_46_1.dll
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
libboost_log-mgw44-mt-d-1_46_1.dll
remarquez le "-d" pour "debug" à cause de l'erreur 4.