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.