Skip to content

codecvt_utf8 deprecated in C++17 #187

@ret2libc

Description

@ret2libc

Trying to compile the project I get the following error:

/Users/ret2libc/projects/pe-parse/pe-parser-library/src/unicode_codecvt.cpp:33:29: error: 'codecvt_utf8<char16_t, 1114111, 0>' is deprecated [-Werror,-Wdeprecated-declarations]
  std::wstring_convert<std::codecvt_utf8<char16_t>, char16_t> convert;
                            ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/codecvt:199:28: note: 'codecvt_utf8<char16_t, 1114111, 0>' has been explicitly marked deprecated here
class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 codecvt_utf8
                           ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/__config:837:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17'
#    define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED
                                        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/__config:810:49: note: expanded from macro '_LIBCPP_DEPRECATED'
#      define _LIBCPP_DEPRECATED __attribute__((deprecated))
                                                ^
/Users/ret2libc/projects/pe-parse/pe-parser-library/src/unicode_codecvt.cpp:33:8: error: 'wstring_convert<std::codecvt_utf8<char16_t, 1114111, 0>, char16_t>' is deprecated [-Werror,-Wdeprecated-declarations]
  std::wstring_convert<std::codecvt_utf8<char16_t>, char16_t> convert;
       ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/locale:3621:28: note: 'wstring_convert<std::codecvt_utf8<char16_t, 1114111, 0>, char16_t>' has been explicitly marked deprecated here
class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 wstring_convert
                           ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/__config:837:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17'
#    define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED
                                        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/__config:810:49: note: expanded from macro '_LIBCPP_DEPRECATED'
#      define _LIBCPP_DEPRECATED __attribute__((deprecated))
                                                ^
2 errors generated.
make[2]: *** [pe-parser-library/CMakeFiles/pe-parse.dir/src/unicode_codecvt.cpp.o] Error 1
make[1]: *** [pe-parser-library/CMakeFiles/pe-parse.dir/all] Error 2
make: *** [all] Error 2

I'm on a MacBook M1 Max MacOS 13.4.1.

I think #159 would fix the problem for end-users, but the problem will appear soon in CI.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions