Używam GoogleTest do testowania moich projektów C++, a po stwierdzeniu, że prekompilowane biblioteki nie są już dystrybuowane w pakiecie Ubuntu, znalazłem następujące informacje na stronie projektu:Czy można bezpiecznie połączyć z biblioteką statyczną zbudowaną przy użyciu różnych flag kompilatora?
Jeśli test Google i skompilować kod testowy stosując różne flagi kompilatora , mogą zobaczyć różne definicje tego samego klasy/funkcji/zmiennej (np z powodu użycia #if w teście Google). Dlatego, aby zachować zdrowy rozsądek, zalecamy unikanie instalowania wstępnie skonfigurowanych bibliotek testów Google. Zamiast tego każdy projekt powinien sam kompilować test Google, aby mieć pewność, że te same flagi są używane zarówno dla testu Google, jak i testów.
Podejrzewam, że nie należy kompilować GoogleTest oddzielnie od testowanego projektu. Czego nie rozumiem, to to, czy to jest po prostu test GoogleTest, czy też jest to rzecz ogólna do łączenia bibliotek.
Pytanie
Czy istnieje sytuacja, w której jest niebezpieczne odwołuje się do prekompilowana zewnętrznych bibliotek, flagi kompilatora lub inny, a jeśli nie, co jest takiego specjalnego GoogleTest?
Twój cytat wydaje się brakować ważnej części: 'Jeśli kompilujesz Test Google i swój kod testowy używając różnych flag kompilatora, mogą zobaczyć różne definicje tej samej klasy/funkcji/zmiennej (np. Z powodu użycia #if w teście Google).' –
Zaktualizowałem cytat z bitem, który wskazujesz. –