oblogmsg源码安装构建报错

基于centos7.5,gcc 11.2, cmake 3.28.4
我在编译、安装 oblogmsg的cmake --build .的时候报错Building CXX object third_party/googletest/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
In file included from /home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/internal/gtest-death-test-internal.h:38:0,
from /home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-death-test.h:40,
from /home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest.h:62,
from /home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/src/gtest-all.cc:38:
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h: In static member function ‘static constexpr bool testing::internal::MatcherBase::IsInlined()’:
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:414:12: error: ‘is_trivially_copy_constructible’ is not a member of ‘std’
std::is_trivially_copy_constructible::value &&
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:414:50: error: expected primary-expression before ‘>’ token
std::is_trivially_copy_constructible::value &&
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:414:51: error: ‘::value’ has not been declared
std::is_trivially_copy_constructible::value &&
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h: In instantiation of ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = const testing::MatcherInterface<const std::basic_string&>; T = const std::basic_string&]’:
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:418:58: required from ‘void testing::internal::MatcherBase::Init(M&&) [with M = const testing::MatcherInterface<const std::basic_string&>
&; T = const std::basic_string&]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:292:14: required from ‘testing::internal::MatcherBase::MatcherBase(const testing::MatcherInterface) [with U = const std::basic_string&; T = const std::basic_string&]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:516:55: required from here
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:416:3: error: body of constexpr function ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = const testing::MatcherInterface<const std::basic_string&>
; T = const std::basic_string&]’ not a return-statement
}
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h: In instantiation of ‘void testing::internal::MatcherBase::Init(M&&) [with M = const testing::MatcherInterface<const std::basic_string&>&; T = const std::basic_string&]’:
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:292:14: required from ‘testing::internal::MatcherBase::MatcherBase(const testing::MatcherInterface
) [with U = const std::basic_string&; T = const std::basic_string&]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:516:55: required from here
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:418:58: error: ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = const testing::MatcherInterface<const std::basic_string&>; T = const std::basic_string&]’ called in a constant expression
template <typename M, bool = MatcherBase::IsInlined()>
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:412:25: note: ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = const testing::MatcherInterface<const std::basic_string&>
; T = const std::basic_string&]’ is not usable as a constexpr function because:
static constexpr bool IsInlined() {
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:463:35: note: in template argument for type ‘bool’
using Policy = ValuePolicy;
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h: In instantiation of ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = const testing::MatcherInterface<const std::basic_string&>; T = std::basic_string]’:
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:418:58: required from ‘void testing::internal::MatcherBase::Init(M&&) [with M = const testing::MatcherInterface<const std::basic_string&>
&; T = std::basic_string]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:292:14: required from ‘testing::internal::MatcherBase::MatcherBase(const testing::MatcherInterface) [with U = const std::basic_string&; T = std::basic_string]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:538:48: required from here
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:416:3: error: body of constexpr function ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = const testing::MatcherInterface<const std::basic_string&>
; T = std::basic_string]’ not a return-statement
}
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h: In instantiation of ‘void testing::internal::MatcherBase::Init(M&&) [with M = const testing::MatcherInterface<const std::basic_string&>&; T = std::basic_string]’:
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:292:14: required from ‘testing::internal::MatcherBase::MatcherBase(const testing::MatcherInterface
) [with U = const std::basic_string&; T = std::basic_string]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:538:48: required from here
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:418:58: error: ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = const testing::MatcherInterface<const std::basic_string&>; T = std::basic_string]’ called in a constant expression
template <typename M, bool = MatcherBase::IsInlined()>
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:412:25: note: ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = const testing::MatcherInterface<const std::basic_string&>
; T = std::basic_string]’ is not usable as a constexpr function because:
static constexpr bool IsInlined() {
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:463:35: note: in template argument for type ‘bool’
using Policy = ValuePolicy;
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h: In instantiation of ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = const testing::MatcherInterface<std::basic_string >; T = std::basic_string]’:
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:418:58: required from ‘void testing::internal::MatcherBase::Init(M&&) [with M = const testing::MatcherInterface<std::basic_string >
&; T = std::basic_string]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:292:14: required from ‘testing::internal::MatcherBase::MatcherBase(const testing::MatcherInterface) [with U = std::basic_string; T = std::basic_string]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:540:48: required from here
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:416:3: error: body of constexpr function ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = const testing::MatcherInterface<std::basic_string >
; T = std::basic_string]’ not a return-statement
}
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h: In instantiation of ‘void testing::internal::MatcherBase::Init(M&&) [with M = const testing::MatcherInterface<std::basic_string >&; T = std::basic_string]’:
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:292:14: required from ‘testing::internal::MatcherBase::MatcherBase(const testing::MatcherInterface
) [with U = std::basic_string; T = std::basic_string]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:540:48: required from here
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:418:58: error: ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = const testing::MatcherInterface<std::basic_string >; T = std::basic_string]’ called in a constant expression
template <typename M, bool = MatcherBase::IsInlined()>
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:412:25: note: ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = const testing::MatcherInterface<std::basic_string >
; T = std::basic_string]’ is not usable as a constexpr function because:
static constexpr bool IsInlined() {
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:463:35: note: in template argument for type ‘bool’
using Policy = ValuePolicy;
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h: In instantiation of ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = testing::internal::EqMatcher<std::basic_string >; T = const std::basic_string&]’:
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:418:58: required from ‘void testing::internal::MatcherBase::Init(M&&) [with M = testing::internal::EqMatcher<std::basic_string >; T = const std::basic_string&]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:298:28: required from ‘testing::internal::MatcherBase::MatcherBase(M&&) [with M = testing::internal::EqMatcher<std::basic_string >; = void; T = const std::basic_string&]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:521:69: required from ‘testing::Matcher<const std::basic_string&>::Matcher(M&&) [with M = testing::internal::EqMatcher<std::basic_string >; = void]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/src/gtest-matchers.cc:45:68: required from here
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:416:3: error: body of constexpr function ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = testing::internal::EqMatcher<std::basic_string >; T = const std::basic_string&]’ not a return-statement
}
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h: In instantiation of ‘void testing::internal::MatcherBase::Init(M&&) [with M = testing::internal::EqMatcher<std::basic_string >; T = const std::basic_string&]’:
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:298:28: required from ‘testing::internal::MatcherBase::MatcherBase(M&&) [with M = testing::internal::EqMatcher<std::basic_string >; = void; T = const std::basic_string&]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:521:69: required from ‘testing::Matcher<const std::basic_string&>::Matcher(M&&) [with M = testing::internal::EqMatcher<std::basic_string >; = void]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/src/gtest-matchers.cc:45:68: required from here
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:418:58: error: ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = testing::internal::EqMatcher<std::basic_string >; T = const std::basic_string&]’ called in a constant expression
template <typename M, bool = MatcherBase::IsInlined()>
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:412:25: note: ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = testing::internal::EqMatcher<std::basic_string >; T = const std::basic_string&]’ is not usable as a constexpr function because:
static constexpr bool IsInlined() {
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:463:35: note: in template argument for type ‘bool’
using Policy = ValuePolicy;
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h: In instantiation of ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = testing::internal::EqMatcher<std::basic_string >; T = std::basic_string]’:
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:418:58: required from ‘void testing::internal::MatcherBase::Init(M&&) [with M = testing::internal::EqMatcher<std::basic_string >; T = std::basic_string]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:298:28: required from ‘testing::internal::MatcherBase::MatcherBase(M&&) [with M = testing::internal::EqMatcher<std::basic_string >; = void; T = std::basic_string]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:545:62: required from ‘testing::Matcher<std::basic_string >::Matcher(M&&) [with M = testing::internal::EqMatcher<std::basic_string >; = void]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/src/gtest-matchers.cc:55:61: required from here
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:416:3: error: body of constexpr function ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = testing::internal::EqMatcher<std::basic_string >; T = std::basic_string]’ not a return-statement
}
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h: In instantiation of ‘void testing::internal::MatcherBase::Init(M&&) [with M = testing::internal::EqMatcher<std::basic_string >; T = std::basic_string]’:
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:298:28: required from ‘testing::internal::MatcherBase::MatcherBase(M&&) [with M = testing::internal::EqMatcher<std::basic_string >; = void; T = std::basic_string]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:545:62: required from ‘testing::Matcher<std::basic_string >::Matcher(M&&) [with M = testing::internal::EqMatcher<std::basic_string >; = void]’
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/src/gtest-matchers.cc:55:61: required from here
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:418:58: error: ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = testing::internal::EqMatcher<std::basic_string >; T = std::basic_string]’ called in a constant expression
template <typename M, bool = MatcherBase::IsInlined()>
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:412:25: note: ‘static constexpr bool testing::internal::MatcherBase::IsInlined() [with M = testing::internal::EqMatcher<std::basic_string >; T = std::basic_string]’ is not usable as a constexpr function because:
static constexpr bool IsInlined() {
^
/home/wangzhaohua006/oblogmsg/third_party/googletest/googletest/include/gtest/gtest-matchers.h:463:35: note: in template argument for type ‘bool’
using Policy = ValuePolicy;
^
gmake[2]: *** [third_party/googletest/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o] Error 1
gmake[1]: *** [third_party/googletest/googletest/CMakeFiles/gtest.dir/all] Error 2
gmake: *** [all] Error 2如何解决呢