Opened 11 months ago

Last modified 11 months ago

#69024 assigned defect

qt5*-qtbase: error: no template named ('unary_function'|'binary_function') in namespace 'std'

Reported by: chrstphrchvz (Christopher Chavez) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: qt53-qtbase qt55-qtbase qt56-qtbase qt57-qtbase qt58-qtbase qt59-qtbase

Description (last modified by chrstphrchvz (Christopher Chavez))

std::unary_function and std::binary_function from libc++ are deprecated in the macOS 13 SDK, and disabled by default in LLVM.org Clang 15 and the macOS 14 SDK when building with C++17 or later (unless _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION is defined). Examples:

compress.cpp:40:26: error: no template named 'binary_function' in namespace 'std'; did you mean '__binary_function'?
struct _Fit: public std::binary_function<int, int, bool>
                    ~~~~~^~~~~~~~~~~~~~~
                         __binary_function
qtesttable.cpp:141:35: error: no template named 'unary_function' in namespace 'std'; did you mean '__unary_function'?
class NamePredicate : public std::unary_function<QTestTablePrivate::Element, bool>
                             ~~~~~^~~~~~~~~~~~~~
                                  __unary_function

Change History (2)

comment:1 Changed 11 months ago by chrstphrchvz (Christopher Chavez)

I personally do not use older Qt5, and I am currently not interested in backporting the fixes for this.

comment:2 Changed 11 months ago by chrstphrchvz (Christopher Chavez)

Description: modified (diff)
Note: See TracTickets for help on using tickets.