include_gardener icon indicating copy to clipboard operation
include_gardener copied to clipboard

Program not built when use "make" on MacOs

Open SergioHdzReyes opened this issue 5 years ago • 2 comments

When I do "make" I get the following:

[ 9%] Building CXX object googletest-build/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o In file included from /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/src/gmock-all.cc:39: In file included from /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock.h:59: In file included from /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-actions.h:51: /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/internal/gmock-internal-utils.h:556:15: error: unknown type name 'ElemFromList' using Arg = ElemFromList<I, typename MakeIndexSequence<sizeof...(Args)>::type, ^ /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/internal/gmock-internal-utils.h:556:27: error: expected ';' after alias declaration using Arg = ElemFromList<I, typename MakeIndexSequence<sizeof...(Args)>::type, ^ ; /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/internal/gmock-internal-utils.h:561:34: error: unknown type name 'IgnoredValue' using MakeResultIgnoredValue = IgnoredValue(Args...); ^ In file included from /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/src/gmock-all.cc:39: In file included from /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock.h:59: /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-actions.h:902:46: error: unknown type name 'IndexSequence' std::vector<Action<void(Args...)>> Convert(IndexSequence<I...>) const { ^ /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-actions.h:902:59: error: expected ')' std::vector<Action<void(Args...)>> Convert(IndexSequence<I...>) const { ^ /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-actions.h:902:45: note: to match this '(' std::vector<Action<void(Args...)>> Convert(IndexSequence<I...>) const { ^ /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-actions.h:922:32: error: use of undeclared identifier 'MakeIndexSequence' return Op{Convert<Args...>(MakeIndexSequence<sizeof...(Actions) - 1>()), ^ /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-actions.h:922:74: error: expected expression return Op{Convert<Args...>(MakeIndexSequence<sizeof...(Actions) - 1>()), ^ /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-actions.h:959:19: error: no type named 'IgnoredValue' in namespace 'testing::internal' typedef internal::IgnoredValue Unused; ~~~~~~~~~~^ In file included from /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/src/gmock-all.cc:39: In file included from /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock.h:61: In file included from /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-function-mocker.h:4: In file included from /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-generated-function-mockers.h:47: In file included from /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-spec-builders.h:73: /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-matchers.h:88:42: error: unknown class name 'MatchResultListener'; did you mean 'StringMatchResultListener'? class StringMatchResultListener : public MatchResultListener { ^~~~~~~~~~~~~~~~~~~ StringMatchResultListener /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-matchers.h:88:7: note: 'StringMatchResultListener' declared here class StringMatchResultListener : public MatchResultListener { ^ /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-matchers.h:88:42: error: base class has incomplete type class StringMatchResultListener : public MatchResultListener { ~~~~~~~^~~~~~~~~~~~~~~~~~~ /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-matchers.h:88:7: note: definition of 'testing::StringMatchResultListener' is not complete until the closing '}' class StringMatchResultListener : public MatchResultListener { ^ /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-matchers.h:90:33: error: member initializer 'MatchResultListener' does not name a non-static data member or base class StringMatchResultListener() : MatchResultListener(&ss_) {} ^~~~~~~~~~~~~~~~~~~~~~~~~ /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-matchers.h:194:23: error: unknown template name 'MatcherInterface' class Impl : public MatcherInterface<T> { ^ /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-matchers.h:200:31: error: unknown type name 'MatchResultListener' bool MatchAndExplain(T x, MatchResultListener* listener) const override { ^ /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-matchers.h:218:47: error: only virtual member functions can be marked 'override' void DescribeTo(::std::ostream* os) const override { ^~~~~~~~~ /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-matchers.h:222:55: error: only virtual member functions can be marked 'override' void DescribeNegationTo(::std::ostream* os) const override { ^~~~~~~~~ /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-matchers.h:337:27: error: unknown type name 'MatchResultListener' MatchResultListener* listener) { ^ /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-matchers.h:492:31: error: unknown template name 'MatcherInterface' class AnyMatcherImpl : public MatcherInterface<const T&> { ^ /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-matchers.h:495:24: error: unknown type name 'MatchResultListener' MatchResultListener* /* listener /) const override { ^ /Users/sergiohernandez/CLionProjects/include_gardener/build/googletest-src/googlemock/include/gmock/gmock-matchers.h:498:45: error: only virtual member functions can be marked 'override' void DescribeTo(::std::ostream os) const override { *os << "is anything"; } ^~~~~~~~~ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. make[2]: *** [googletest-build/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o] Error 1 make[1]: *** [googletest-build/googlemock/CMakeFiles/gmock.dir/all] Error 2 make: *** [all] Error 2

Can you help me to use your program? Thanks

SergioHdzReyes avatar Jul 08 '19 22:07 SergioHdzReyes

Hi,

which GCC version are you using?

The error happens when compiling gtest (gmock) library. Could you try to create a simple test program and then compile and link it with gtest first?

feddischson avatar Aug 04 '19 05:08 feddischson

I get similar errors, using Clang on Debian. Calling clang++ --version prints this:

clang version 10.0.0 (https://github.com/llvm/llvm-project.git b399252028f02f8e32382aaeda9960e67b7fd514)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/scratch/ostlund/syslocal/bin

and when compiling, I get errors such as

googletest/googlemock/include/gmock/internal/gmock-internal-utils.h:553:40: error: no template named 'MakeIndexSequence'
  using Arg = ElemFromList<I, typename MakeIndexSequence<sizeof...(Args)>::type,
                                       ^

jonasseglare avatar Jan 09 '20 09:01 jonasseglare