Bonjour,
quelqu'un a réussi à utiliser boost avec visual 2013?
Moi je galère bien...
Je suis parvenu à le compiler, c'est déjà une bonne chose. J'ai compilé le trunk, donc la version 1.55. Pour ce faire, j'ai juste exécuté bootstrap.bat, puis j'ai lancé la commande suivante:
Mais maintenant, sous visual 2013, je ne parviens pas à compiler un programme qui utilise boost. Lors de la compilation, pour chaque classe/fichier qui utilise boost, j'obtiens le message suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part b2.exe toolset=msvc-12.0 architecture=x86 address-model=64 link=static stage
J'ai l'impression qu'il y a une sorte de conflit avec l'ancienne version de boost que j'utilisais sur cet ordinateur, qui était la version 1.53. Car le programme que j'essaie de compiler n'est absolument pas configuré pour boost: dans les options du projet, il n'y a aucune référence aux répertoires de boost (include et lib), donc je ne comprend pas comment il fait pour trouver les headers de boost pour compiler, ni pour le link avec les lib statiques. C'est un pc du bureau, et ce n'est pas moi qui l'ait installé, donc je ne sais pas ce qui a été fait exactement, mais je ne trouve aucune trace de boost dans les variables d'environnement du système.Unknown compiler version - please run the configure tests and report the results
J'ai bien cherché sur le net, mais les seules réponses que j'ai trouvé ne correspondent pas à mon problème. Car d'une part, si je suis parvenu à compiler boost avec l'option "toolset=msvc-12.0" c'est que le bootstrap c'est bien passé. Et d'autre part, j'ai récupéré la version la plus récente de boost, qui est sensée être 100% compatible avec vs2013. D'ailleurs, j'ai bien vérifié dans boost/config/auto_link.hpp, le code suivant est bien présent:
Autre chose étrange, BOOST_MSVC est déjà défini dans mon projet, car si j'essaie de l'ajouter à la main (dans les options du projet -> preprocessor -> preprocessor definitions), je reçoit l'erreur suivante à la compilation:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 # elif defined(BOOST_MSVC) // vc12: # define BOOST_LIB_TOOLSET "vc120"
et de toutes façons ça ne règle pas le problème. Mais ce qui est étrange, c'est que je n'arrive pas à voir où est définie cette variable. Elle n'est pas présente dans le code, ni dans les variables du préprocesseur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part warning C4005: 'BOOST_MSVC' : macro redefinition
Quelqu'un a une idée?
Partager