[abseil] Update to the latest and fix link failure error using StrCat #9367
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When using StrCat function, passing different arguments(less or more than 4), if we use different cxx versions, which will cause different test results.
Since
StrCat
overload callsabsl::strings_internal::CatPieces
, which takes a singlestd::initializer_list<absl::string_view>
parameter. So if Abseil is being compiled with a different C++ version than the code callingStrCat
, (which it sounds like is the case,) then this error makes sense: some code is expectingCatPieces(std::initializer_list<absl::string_view>)
to exist while other code is expectingCatPieces(std::initializer_list<std::string_view>)
to exist, butstr_cat.cc
only defined one of them.As the maintainer for
Abseil
proposed, we can defineABSL_OPTION_USE_STD_STRING_VIEW
as 0 to fix this issue.ABSL_OPTION_USE_STD_STRING_VIEW
exists inabsl/base/options.h
that introduced in recent commits. So I also updateabseil
to the latest commit to solve this issue.Related issue:#9142
abseil-cpp/issues/570
Note: No features need to test.