Haben Sie tatsächlich eine dynamische Verknüpfung mit der Framework-Bibliothek boost_unit_test hergestellt? Außerdem funktioniert die Kombination aus manueller Testregistrierung und der Definition von BOOST_TEST_MAIN
nicht. Die dynamische Bibliothek erfordert leicht unterschiedliche Initialisierungsroutinen.
Der einfachste Weg, diese Hürde zu umgehen, ist die Verwendung von automatische Testregistrierung
%Vor%Dies ist robuster und skaliert viel besser, wenn Sie mehr und mehr Tests hinzufügen.
Ich hatte genau das gleiche Problem. Außerdem wechseln zu automatische Testregistrierung , wie bereits früher vorgeschlagen , können Sie auch statische Verknüpfungen verwenden, dh indem Sie
ersetzen > %Vor%mit
%Vor%Dies wurde in der Boost-Mailingliste vorgeschlagen:
Der einfachste Weg, dies zu beheben, ist die Verbindung [...] mit der statischen Bibliothek.
Die API für die dynamische Bibliotheksinitialisierung unterscheidet sich geringfügig seit 1.34.1 und dies ist die Ursache des Fehlers, den Sie sehen. Die Funktion init_unit_test_suite wird dabei nicht aufgerufen Fall.
Tags und Links c++ testing boost boost-test