Problem z konfiguracją CLion'a i frameworku google mock test

0

Korzystam z poradnika:
dotyczącego konfiguracji google test c++ na CLionie, żeby poćwiczyć testowanie prostych funkcji. Korzystałem na początku z tego poradnika:
https://www.jetbrains.com/help/clion/creating-google-test-run-debug-configuration-for-test.html#
jednakże w ogóle mi znajdywało tych plików nagłówkowych.
Teraz jak próbuję zbudować projekt wyskakują mi takie komunikaty:

====================[ Build | all | Debug ]=====================================
"C:\Program Files\JetBrains\CLion 2019.3.5\bin\cmake\win\bin\cmake.exe" --build G:\C++_PROJECTS\TESTING_WITH_GOOGLE_MOCK\cmake-build-debug --target all -- -j 4
-- Configuring done
-- Generating done
-- Build files have been written to: G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/cmake-build-debug
[ 9%] Building CXX object lib/googletest-master/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.obj
In file included from G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/include/gtest/internal/gtest-internal.h:40,
from G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/include/gtest/gtest.h:62,
from G:\C++_PROJECTS\TESTING_WITH_GOOGLE_MOCK\lib\googletest-master\googletest\src\gtest-all.cc
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/include/gtest/internal/gtest-port.h: In function 'int testing::StrCaseCmp(const char*, const char*)':
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/include/gtest/internal/gtest-port.h10: error: '_stricmp' was not declared in this scope
return _stricmp(s1, s2);
^~~~~~~~
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/include/gtest/internal/gtest-port.h10: note: suggested alternative: 'strncmp'
return _stricmp(s1, s2);
^~~~~~~~
strncmp
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/include/gtest/internal/gtest-port.h: In function 'char* testing::StrDup(const char*)':
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/include/gtest/internal/gtest-port.h47: error: '_strdup' was not declared in this scope
inline char* StrDup(const char* src) { return _strdup(src); }
^~~~~~~
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/include/gtest/internal/gtest-port.h47: note: suggested alternative: 'StrDup'
inline char* StrDup(const char* src) { return _strdup(src); }
^~~~~~~
StrDup
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/include/gtest/internal/gtest-port.h: In function 'int testing::FileNo(FILE*)':
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/include/gtest/internal/gtest-port.h40: error: '_fileno' was not declared in this scope
inline int FileNo(FILE* file) { return _fileno(file); }
^~~~~~~
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/include/gtest/internal/gtest-port.h40: note: suggested alternative: 'file'
inline int FileNo(FILE* file) { return _fileno(file); }
^~~~~~~
file
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/include/gtest/internal/gtest-port.h: In function 'FILE* testing::FDOpen(int, const char*)':
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/include/gtest/internal/gtest-port.h56: error: 'fdopen' was not declared in this scope
inline FILE* FDOpen(int fd, const char* mode) { return fdopen(fd, mode); }
^~~~~~
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/include/gtest/internal/gtest-port.h56: note: suggested alternative: 'fopen'
inline FILE* FDOpen(int fd, const char* mode) { return fdopen(fd, mode); }
^~~~~~
fopen
In file included from G:\C++_PROJECTS\TESTING_WITH_GOOGLE_MOCK\lib\googletest-master\googletest\src\gtest-all.cc
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest.cc: In static member function 'static bool testing::CaseInsensitiveWideCStringEquals(const wchar_t*, const wchar_t*)':
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest.cc10: error: '_wcsicmp' was not declared in this scope
return _wcsicmp(lhs, rhs) == 0;
^~~~~~~~
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest.cc10: note: suggested alternative: 'wcsncmp'
return _wcsicmp(lhs, rhs) == 0;
^~~~~~~~
wcsncmp
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest.cc: In member function 'int testing::Run()':
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest.cc21: error: '_OUT_TO_STDERR' was not declared in this scope
_set_error_mode(_OUT_TO_STDERR);
^~~~~~~~~~~~~~
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest.cc5: error: '_set_error_mode' was not declared in this scope
_set_error_mode(_OUT_TO_STDERR);
^~~~~~~~~~~~~~~
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest.cc5: note: suggested alternative: 'SetErrorMode'
_set_error_mode(_OUT_TO_STDERR);
^~~~~~~~~~~~~~~
SetErrorMode
In file included from G:\C++_PROJECTS\TESTING_WITH_GOOGLE_MOCK\lib\googletest-master\googletest\src\gtest-all.cc
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-death-test.cc: In function 'void testing::DeathTestAbort(const string&)':
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-death-test.cc5: error: '_exit' was not declared in this scope
_exit(1);
^~~~~
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-death-test.cc5: note: suggested alternative: '_Exit'
_exit(1);
^~~~~
_Exit
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-death-test.cc: In member function 'virtual void testing::Abort(testing::AbortReason)':
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-death-test.cc3: error: '_exit' was not declared in this scope
_exit(1); // Exits w/o any normal exit hooks (we were supposed to crash)
^~~~~
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-death-test.cc3: note: suggested alternative: '_Exit'
_exit(1); // Exits w/o any normal exit hooks (we were supposed to crash)
^~~~~
_Exit
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-death-test.cc: In member function 'virtual testing::TestRole testing::AssumeRole()':
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-death-test.cc24: error: '_MAX_PATH' was not declared in this scope
char executable_path[_MAX_PATH + 1]; // NOLINT
^~~~~~~~~
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-death-test.cc24: note: suggested alternative: 'MAX_PATH'
char executable_path[_MAX_PATH + 1]; // NOLINT
^~~~~~~~~
MAX_PATH
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-death-test.cc65: error: 'executable_path' was not declared in this scope
executable_path,
^~~~~~~~~~~~~~~
G:/C++PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-death-test.cc38: note: in definition of macro 'GTEST_DEATH_TEST_CHECK'
if (!::IsTrue(expression)) {
^~~~~~~~~~
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-death-test.cc11: error: 'executable_path' was not declared in this scope
executable_path, const_cast<char*>(command_line.c_str()),
^~~~~~~~~~~~~~~
G:/C++PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-death-test.cc38: note: in definition of macro 'GTEST_DEATH_TEST_CHECK'
if (!::IsTrue(expression)) {
^~~~~~~~~~
In file included from G:\C++_PROJECTS\TESTING_WITH_GOOGLE_MOCK\lib\googletest-master\googletest\src\gtest-all.cc
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-filepath.cc: In static member function 'static testing::FilePath testing::GetCurrentDir()':
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-filepath.cc26: error: '_MAX_PATH' was not declared in this scope

define GTEST_PATH_MAX_ _MAX_PATH

                      ^~~~~~~~~

G:/C++PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-filepath.cc12: note: in expansion of macro 'GTEST_PATH_MAX'
char cwd[GTEST_PATH_MAX_ + 1] = { '\0' };
^~~~~~~~~~~~~~~
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-filepath.cc26: note: suggested alternative: 'MAX_PATH'

define GTEST_PATH_MAX_ _MAX_PATH

                      ^~~~~~~~~

G:/C++PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-filepath.cc12: note: in expansion of macro 'GTEST_PATH_MAX'
char cwd[GTEST_PATH_MAX_ + 1] = { '\0' };
^~~~~~~~~~~~~~~
G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master/googletest/src/gtest-filepath.cc27: error: 'cwd' was not declared in this scope
return FilePath(_getcwd(cwd, sizeof(cwd)) == nullptr ? "" : cwd);
^~~
mingw32-make.exe[2]: *** [lib/googletest-master/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.obj] Error 1
mingw32-make.exe[1]: *** [lib/googletest-master/googletest/CMakeFiles/gtest.dir/all] Error 2
mingw32-make.exe: *** [all] Error 2
lib\googletest-master\googletest\CMakeFiles\gtest.dir\build.make recipe for target 'lib/googletest-master/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.obj' failed
CMakeFiles\Makefile2 recipe for target 'lib/googletest-master/googletest/CMakeFiles/gtest.dir/all' failed
Makefile recipe for target 'all' failed

Nie wiem dlaczego tak się dzieje, bo robiłem 1:1 tak jak jest na tym nagraniu.

0

Czy to, że gość na tym nagraniu używa Linuxa a ja mam clion'a na windowsie, coś zmienia?

0

Pewnie nie widzi google test i tak jest różnica pomiędzy stawianiem tego na win i lin.
obczai to i sprawdź czy działa(to widzę dodaje gtest do ścieżek systemowych)
https://blog.robertolechowski.com/Googletest_windows/
albo postaw wirtualke z ubuntu.
edit:
jeśli wolisz youtube to wpisz po prostu gtest on windows.

0
error: '_stricmp' was not declared in this scope

_stricmp to microsoftowy wynalazek, jeśli używasz GCC z MinGW to może to być przyczyną problemu.

0

Mirai ty nie szukaj opisu dla clion a opisu mingw+cmake+gtest. CLion to w dużej mierze IDE samo a nie jakiś kompilator. Weź jakiś tutorial dla windows(sam stawiałem tylko na linuksie) i po próbuj.

0

@recovery:

To jest plik z pierwszego linka:
cmake_minimum_required(VERSION 3.13)
project(Interval_container)

add_subdirectory($ENV{gtest_DIR}/ gtest)

include_directories($ENV{gtest_DIR}/googletest/include $ENV{gtest_DIR}/googletest)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
set(CMAKE_CXX_STANDARD 14)

add_executable(Interval_container_tests IntervalMap.h Tests/tests.cpp)

target_link_libraries(Interval_container_tests gtest gtest_main)

A to z mojego:

cmake_minimum_required(VERSION 3.15)
project(TESTING_WITH_GOOGLE_MOCK)

set(CMAKE_CXX_STANDARD 20)
add_subdirectory(lib/googletest-master)
include_directories(lib/googletest-master/googletest/include)
include_directories(lib/googletest-master/googlemock/include)
set(SOURCE_FILES main.cpp)
add_executable(TESTING_WITH_GOOGLE_MOCK ${SOURCE_FILES} Tests/ClassName.hpp Tests/test.cpp)
target_link_libraries(TESTING_WITH_GOOGLE_MOCK gtest gtest_main)

Są różnice? Bo zmieniałem w kolejności tak jak w pierwszym linku i dalej ten sam efekt. Nie wiem jak zrobić, żeby korzystając z mingw mi to kompilowało, bo zgaduję że to kompiluje bibliotekę tylko pod kompilator visual studio

0

nie znalazłem tutoriala dla windows, są tylko na linuxa. Jakbym znalazł to przecież nie szukałbym rozwiązania na forum, logiczne prawda?

@Mirai jest też trzecia, coraz mniej popularna opcja, czyli dojść do rozwiązania samemu. Nie jest to specjalnie trudne gdy już wiesz, co jest najbardziej prawdopodobną przyczyną problemu. Gotowej instrukcji Ci nie dam bo nie chce mi się tyle pisać ani tymbardziej nie będę przeszukiwał google'a za Ciebie, ale mogę napisać tyle, że cmake ma tą opcję, że możesz na nim wymusić, którego generator ma użyć, czyli możesz np. wymusić użycie generatora MinGW

cmake -G "MinGW Makefiles"

W ten sposób możesz wymusić by gtest zbudował się z MinGW. Prawdopodobnie musisz mieć jakieś zmienne środowiskowe ustawione, ale pewnie instalator CLion już zrobił to za Ciebie.

0

to mingw ma c++20?
Mingw jest ustawione w PATH variable? Czym to jest budowane? Gtest możesz podać do cmake na parę sposobów swoja drogą.
tu nawet przykład dodawania do path http://www.programmersought.com/article/2683593024/
Weź głęboki oddech klepnij gtest on windows cmake mingw w google. Jak nie bedzie fungać to znaczy że coś jest źle skonfigurowane.

0

@several:
Doszedłbym do rozwiązania samemu, gdybym rozumiał co się dzieje. A nie rozumiem. Ściągnąłem paczkę z githuba. Rozpakowałem. Dodałem odpowiednie zależności, załączyłem do plików nagłówkowych itd. Mam w clionie wybranego mingw. I ni stąd ni zowąd kompiluje mi się coś, co mingw nie rozpoznaje. Nie otwierałem tej biblioteki wcześniej, żeby ją dać do jakiegokolwiek visual studio. Więc nie wiem dlaczego tak się dzieje.

0

Nie rozumiesz ob idziesz na skróty.

  1. Po zainstalowaniu Mingw musi ona być dodana do PATH https://en.wikipedia.org/wiki/PATH_(variable)
  2. Możesz wymusić budowanie konkretnym toolem w cmake w twoim wypadku mingw
  3. Po dodaniu odpowiednich ścieżek do PATH klepiesz cmake
  4. Cmake ustawiasz odpowiednio(wątpię że mingw obsługuje c++20 swoją drogą)
  5. Rozpoczynasz budowanie najlepiej z konsoli
1

@Mirai dzieje się tak, gdyż każdy projekt, który ma swoje własne CMakeList.txt jest małym, niezależnym bytem, którego nie interesują Twoje ustawienia w CLion. Zbuduj sobie najpierw google test osobno, z konsoli, bez CLion z użyciem MinGW, a potem gotową bibliotekę w postaci binarnej podepnij do projektu. Jak to zadziała, wtedy zastanów się jak budować ze źródeł z użyciem CLion.

0

Zbudowałem tym poleceniem, które dałeś

CMake Warning:
  No source or binary directory provided.  Both will be assumed to be the
  same as the current working directory, but note that this warning will
  become a fatal error in future CMake releases.


-- The C compiler identification is GNU 8.2.0
-- The CXX compiler identification is GNU 8.2.0
-- Check for working C compiler: C:/MinGW/bin/gcc.exe
-- Check for working C compiler: C:/MinGW/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/MinGW/bin/g++.exe
-- Check for working CXX compiler: C:/MinGW/bin/g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonInterp: C:/Python37/python.exe (found version "3.7.7")
-- Configuring done
-- Generating done
-- Build files have been written to: G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master

Dalej mam te same błędy

0

Jeszcze nic nie zbudowałeś, wygenerowałeś Makefile'e, musisz jeszcze ich użyć

cd G:/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master
make
0

@Mirai nie umieszczaj w komentarzach odpowiedzi na temat

No teraz to kompletnie nie ogarniam co się stało: MINGW64 /g/C++_PROJECTS/TESTING_WITH_GOOGLE_MOCK/lib/googletest-master $ make bash: make: command not found

Hmm, sprawdź czy masz jakiegoś make'a w folderze z zinstalowanym MinGW, to było chyba coś C:\MinGW\bin. Nie używałem MinGW od lat, być może musisz osobno zainstalować make'a, ALBO sprawdź co zainstalował Ci CLion, być może razem z IDE masz też tam gdzieś make'a.

0

Moja rada. Użyj linuxa, poćwicz, zrozum cmake, gcc i ogólnie budowanie. Jak skumasz co jest czym wróć do tematu na windows a tu odpowiedź w temacie make
https://stackoverflow.com/questions/36770716/mingw64-make-build-error-bash-make-command-not-found

klepnięcie tego co wpisałeś w google... łącznie z linkiem do mingw getting started.

0
revcorey napisał(a):

Moja rada. Użyj linuxa, poćwicz, zrozum cmake, gcc i ogólnie budowanie. Jak skumasz co jest czym wróć do tematu na windows a tu odpowiedź w temacie make
https://stackoverflow.com/questions/36770716/mingw64-make-build-error-bash-make-command-not-found

klepnięcie tego co wpisałeś w google... łącznie z linkiem do mingw getting started.

Aha no fajnie.

C /c/GoogleTest
$ make
Scanning dependencies of target gtest
[ 12%] Building CXX object googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.obj
In file included from c:/GoogleTest/googletest/src/gtest-all.cc:41:
C:/GoogleTest/googletest/src/gtest.cc: In function 'testing::internal::TimeInMillis testing::internal::GetTimeInMillis()':
C:/GoogleTest/googletest/src/gtest.cc:1036:29: error: 'int gettimeofday(timeval*, void*)' is deprecated [-Werror=deprecated-declarations]
   gettimeofday(&now, nullptr);
                             ^
In file included from C:/GoogleTest/googletest/src/gtest.cc:100,
                 from c:/GoogleTest/googletest/src/gtest-all.cc:41:
c:\mingw\include\sys\time.h:106:53: note: declared here
 int __cdecl __MINGW_NOTHROW __POSIX_2008_DEPRECATED gettimeofday
                                                     ^~~~~~~~~~~~
In file included from c:/GoogleTest/googletest/src/gtest-all.cc:41:
C:/GoogleTest/googletest/src/gtest.cc:1036:29: error: 'int gettimeofday(timeval*, void*)' is deprecated [-Werror=deprecated-declarations]
   gettimeofday(&now, nullptr);
                             ^
In file included from C:/GoogleTest/googletest/src/gtest.cc:100,
                 from c:/GoogleTest/googletest/src/gtest-all.cc:41:
c:\mingw\include\sys\time.h:106:53: note: declared here
 int __cdecl __MINGW_NOTHROW __POSIX_2008_DEPRECATED gettimeofday
                                                     ^~~~~~~~~~~~
cc1plus.exe: all warnings being treated as errors
make[2]: *** [googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.obj] Error 1
make[1]: *** [googletest/CMakeFiles/gtest.dir/all] Error 2
make: *** [all] Error 2

Nawet głupia kompilacja nie działa

0

@Mirai a ja Ci poradzę trochę na przekór - nie poddawaj się z windowsem. Na linuksie jest to samo, z tą różnicą że nie ma zamieszania, którego kompilatora użyć oraz instalacja niektórych narzędzi jest trochę sprawniejsza. Tutaj akurat winny jest ogólny tooling do C++, który ssie a nie windows.

EDIT

cc1plus.exe: all warnings being treated as errors

Usuń -Werror z cmake'a albo z Makefile'a.

0

@several:
O tak wygląda ta sytuacja z folderami

0

To jest folder który najprawdopodobniej gość sam sobie stworzył i umieścił w nim pliki potrzebne do kompilacji z użyciem MSVC. Albo wygenerował go VisualStudio podczas importu CMakeList.txt, nie wiem, w każdym razie to nie jest jakaś inna wersja google test.

0

@several:
Ściągnąłem już drugą wersję google test i próbuję ją skompilować. Tym razem taki błąd wyskakuje, a co:

$ make
Scanning dependencies of target gtest
[ 12%] Building CXX object googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.obj
In file included from c:/GoogleTest/googletest/src/gtest-all.cc:41:
C:/GoogleTest/googletest/src/gtest.cc:86:11: fatal error: crtdbg.h: No such file or directory
 # include <crtdbg.h>  // NOLINT
           ^~~~~~~~~~
compilation terminated.
make[2]: *** [googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.obj] Error 1
make[1]: *** [googletest/CMakeFiles/gtest.dir/all] Error 2
make: *** [all] Error 2

0
# include <crtdbg.h>  // NOLINT

To znowu wygląda na jakiś windowsowy wynalazek. Nie wiem dlaczego Ci to wyskakuje. Być może zostało Ci coś w cmake'owych cache'u, albo jakiś bug w samym generatorze, albo bug w samym gtest.

1

jakieś bugi były widzę załatali
https://github.com/google/googletest/issues/2418

Przeleciałem google, lepszym rozwiązaniem mozę być użycie msvc zamiast mingw. Ja ogólnie pod windowsa poleciłbym raczej msvc niż mingw z resztą komercyjnie używa się raczej msvc. Konfigurowałem msvc i cmake kiedyś na windows gra bardzo fajnie.
obczai(i inne pod hasłem visual code studio gtest)

1 użytkowników online, w tym zalogowanych: 0, gości: 1