Skip to content

error: ‘string_view’ in namespace ‘std’ does not name a type #45

@jiapei100

Description

@jiapei100

My ENV:

~ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.4 LTS
Release:	22.04
Codename:	jammy
➜  ~ gcc --version
gcc (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

and I failed to build libilbc:

[  2%] Building CXX object CMakeFiles/ilbc.dir/rtc_base/checks.cc.o
/usr/bin/c++ -DWEBRTC_LINUX -DWEBRTC_POSIX -Dilbc_EXPORTS -I....../libilbc/. -I....../libilbc/abseil-cpp -I....../libilbc/build -Wall -Wextra -Wno-unused-parameter -fno-strict-aliasing -std=c++17 -O2 -std=gnu++14 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT CMakeFiles/ilbc.dir/common_audio/signal_processing/dot_product_with_scale.cc.o -MF CMakeFiles/ilbc.dir/common_audio/signal_processing/dot_product_with_scale.cc.o.d -o CMakeFiles/ilbc.dir/common_audio/signal_processing/dot_product_with_scale.cc.o -c ....../libilbc/common_audio/signal_processing/dot_product_with_scale.cc
/usr/bin/c++ -DWEBRTC_LINUX -DWEBRTC_POSIX -Dilbc_EXPORTS -I....../libilbc/. -I....../libilbc/abseil-cpp -I....../libilbc/build -Wall -Wextra -Wno-unused-parameter -fno-strict-aliasing -std=c++17 -O2 -std=gnu++14 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT CMakeFiles/ilbc.dir/rtc_base/checks.cc.o -MF CMakeFiles/ilbc.dir/rtc_base/checks.cc.o.d -o CMakeFiles/ilbc.dir/rtc_base/checks.cc.o -c ....../libilbc/rtc_base/checks.cc
In file included from ....../libilbc/./rtc_base/checks.h:58,
                 from ....../libilbc/./rtc_base/numerics/safe_conversions.h:18,
                 from ....../libilbc/common_audio/signal_processing/dot_product_with_scale.cc:13:
/usr/local/include/absl/strings/string_view.h:53:26: error: ‘string_view’ in namespace ‘std’ does not name a type
   53 | using string_view = std::string_view;
      |                          ^~~~~~~~~~~
/usr/local/include/absl/strings/string_view.h:53:21: note: ‘std::string_view’ is only available from C++17 onwards
   53 | using string_view = std::string_view;
      |                     ^~~
/usr/local/include/absl/strings/string_view.h:751:8: error: ‘string_view’ does not name a type
  751 | inline string_view ClippedSubstr(string_view s, size_t pos,
      |        ^~~~~~~~~~~
In file included from ....../libilbc/./rtc_base/checks.h:58,
                 from ....../libilbc/rtc_base/checks.cc:36:
/usr/local/include/absl/strings/string_view.h:53:26: error: ‘string_view’ in namespace ‘std’ does not name a type
   53 | using string_view = std::string_view;
      |                          ^~~~~~~~~~~
/usr/local/include/absl/strings/string_view.h:53:21: note: ‘std::string_view’ is only available from C++17 onwards
   53 | using string_view = std::string_view;
      |                     ^~~
/usr/local/include/absl/strings/string_view.h:762:11: error: ‘string_view’ does not name a type
  762 | constexpr string_view NullSafeStringView(absl::Nullable<const char*> p) {
      |           ^~~~~~~~~~~
/usr/local/include/absl/strings/string_view.h:751:8: error: ‘string_view’ does not name a type
  751 | inline string_view ClippedSubstr(string_view s, size_t pos,
      |        ^~~~~~~~~~~
/usr/local/include/absl/strings/string_view.h:762:11: error: ‘string_view’ does not name a type
  762 | constexpr string_view NullSafeStringView(absl::Nullable<const char*> p) {
      |           ^~~~~~~~~~~
....../libilbc/./rtc_base/checks.h:186:45: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
  186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
      |                                             ^~~~
....../libilbc/./rtc_base/checks.h:186:63: error: template argument 2 is invalid
  186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
      |                                                               ^
....../libilbc/./rtc_base/checks.h:187:17: error: ‘string_view’ in namespace ‘absl’ does not name a type
  187 |     const absl::string_view& x) {
      |                 ^~~~~~~~~~~
....../libilbc/./rtc_base/checks.h: In function ‘int rtc::webrtc_checks_impl::MakeVal(const int&)’:
....../libilbc/./rtc_base/checks.h:188:13: error: invalid conversion from ‘const int*’ to ‘int’ [-fpermissive]
  188 |   return {&x};
      |             ^
      |             |
      |             const int*
....../libilbc/./rtc_base/checks.h:186:45: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
  186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
      |                                             ^~~~
....../libilbc/./rtc_base/checks.h:186:63: error: template argument 2 is invalid
  186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
      |                                                               ^
....../libilbc/./rtc_base/checks.h:187:17: error: ‘string_view’ in namespace ‘absl’ does not name a type
  187 |     const absl::string_view& x) {
      |                 ^~~~~~~~~~~
....../libilbc/./rtc_base/checks.h: In function ‘int rtc::webrtc_checks_impl::MakeVal(const int&)’:
....../libilbc/./rtc_base/checks.h:188:13: error: invalid conversion from ‘const int*’ to ‘int’ [-fpermissive]
  188 |   return {&x};
      |             ^
      |             |
      |             const int*
....../libilbc/rtc_base/checks.cc: In function ‘bool rtc::webrtc_checks_impl::ParseArg(__va_list_tag (*)[1], const CheckArgType**, std::string*)’:
....../libilbc/rtc_base/checks.cc:116:19: error: ‘string_view’ in namespace ‘absl’ does not name a type
  116 |       const absl::string_view sv = *va_arg(*args, const absl::string_view*);
      |                   ^~~~~~~~~~~
....../libilbc/rtc_base/checks.cc:117:17: error: ‘sv’ was not declared in this scope; did you mean ‘s’?
  117 |       s->append(sv.data(), sv.size());
      |                 ^~
      |                 s
make[2]: *** [CMakeFiles/ilbc.dir/build.make:1115: CMakeFiles/ilbc.dir/common_audio/signal_processing/dot_product_with_scale.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/ilbc.dir/build.make:1465: CMakeFiles/ilbc.dir/rtc_base/checks.cc.o] Error 1
make[2]: Leaving directory '....../libilbc/build'
make[1]: *** [CMakeFiles/Makefile2:92: CMakeFiles/ilbc.dir/all] Error 2
make[1]: Leaving directory '....../libilbc/build'
make: *** [Makefile:139: all] Error 2

Can anybody help please?

Thank you

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions