Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Test Unit (TDD) Eclipse c++

Ostatnio zmodyfikowano 2019-08-06 20:10
Autor Wiadomość
Slawek1975
Temat założony przez niniejszego użytkownika
Test Unit (TDD) Eclipse c++
» 2019-08-06 17:55:57
zmieniłem kompilator na: C:\mingw-w64\i686-8.1.0-win32-dwarf-rt_v6-rev0\mingw32
i kompilacja a nawet uruchomienie przechodzi poprawnie, pod warunkiem, że nie ma nic w warunku testowym:

TEST(Sumator, test1)
{
//ASSERT_EQ(1,1);
}
int main(int argc, char **argv)
{
//cout << "Hello World" << endl; // prints Hello World
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}

jeśli usunę znaki komentarza przy ASSERT_EQ(1,1);  kompilator wyświetla dwa błędy:

src\proj2.o: in function `ZN7testing8internal11CmpHelperEQIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_':

undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
P-174978
pekfos
» 2019-08-06 18:18:41
Build biblioteki, którego używasz, nie jest kompatybilny z twoim kompilatorem - dokładniej z wersją ABI biblioteki standardowej. Możesz spróbować dodać poniższą opcję kompilatora, lub analogicznego #define'a. Jeśli to nie zadziała, rekomenduję skompilowanie biblioteki samemu.
-D_GLIBCXX_USE_CXX11_ABI=0
P-174979
Slawek1975
Temat założony przez niniejszego użytkownika
Test Unit (TDD) Eclipse c++
» 2019-08-06 20:01:36
Dodanie tej linii, uruchomiło program, teraz działa. Co prawda nie ma kolorowania "FAILED" ale działa.
Tylko co robią komendy wydawane kompilatorowi w tej linii?
Dziękuję za pomoc :)
P-174980
pekfos
» 2019-08-06 20:10:30
Ta komenda jest równoważna z dodaniem
C/C++
#define _GLIBCXX_USE_CXX11_ABI 0
na początku kompilowanego pliku. O znaczeniu tego makra możesz przeczytać w https://gcc.gnu.org/onlinedocs​/gcc-5.2.0/libstdc++/manual​/manual/using_dual_abi.html.
P-174981
1 « 2 »
Poprzednia strona Strona 2 z 2