Je tente d'utiliser Boost.Test pour mes tests unitaires (j'en ai pas mal qui fonctionnaient il y a encore quelques temps) avec Visual Studio 2008. Je viens de tout mettre à jour, et j'obtiens une erreur... embêtante à l'édition des liens :
La bibliothèque boost_unit_test_framework-vc90-mt-1_36 définit ce fameux symbole, et en fait tous mes fichiers objets devraient référencer ce symbole externe, mais chaque fichier a l'air de posséder une instance de ce symbole.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 link /nologo /OUT:IRT_test_suit.exe /LIBPATH:D:\Travail\boost_1_36_0\lib "/LIBPATH:D:\Python 2.5\libs" /LIBPATH:. IRT.lib oost_unit_test_framework-vc90-mt-1_36.lib tools\boost_main_test.obj test_light.obj boost_unit_test_framework-vc90-mt-1_36.lib(boost_unit_test_framework-vc90-mt-1_36.dll) : error LNK2005: "public: static class boost::unit_test::unit_test_log_t& __cdecl boost::unit_test::singleton<class boost::unit_test::unit_test_log_t>::instance(void)" ?instance@?$singleton@Vunit_test_log_t@unit_test@boost@@@unit_test@boost@@SAAAVunit_test_log_t@23@XZ) déjà défini(e) dans test_light.obj IRT_test_suit.exe : fatal error LNK1169: un ou plusieurs symboles définis à différentes reprises ont été rencontrés
Bref, le problème m'a l'air louche, car il s'agit d'un gros morceau de Boost, mais comme les seuls exemples proposés par Boost.Test sont des tests avec un seul fichier (là, je râle, mais comment se fait-il qu'un exemple multi fichier n'est même pas proposé ???), je n'ai même pas la possibiliité de savoir si c'est un problème :
- de ma config pour une raison X ou Y
- de Visual Studio 2008
- de SCons, que j'utilise comme outil de compilation (mais il y a peu de chance, les arguments sont standard)
Partager