-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.7.0, 6.8
-
None
-
-
f54953a0a (dev), 913bd8d19 (6.7), 0b637d20b (6.6), 5e04d9f25 (tqtc/lts-6.5)
Building without -make example works fine, but when building the examples corelib/platform/androidnotifier turns out to be troublesome. Tried with dev and 6.7.0.
FAILED: qtbase/examples/corelib/platform/androidnotifier/CMakeFiles/androidnotifier.dir/main.cpp.o
/Users/ollivuolteenaho/Library/Android/sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ --target=aarch64-none-linux-android23 --sysroot=/Users/ollivuolteenaho/Library/Android/sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_CONTEXTLESS_CONNECT -DQT_WIDGETS_LIB -Dandroidnotifier_EXPORTS -I/Users/ollivuolteenaho/dev/qt670/qt5-build-android/qtbase/examples/corelib/platform/androidnotifier/androidnotifier_autogen/include -I/Users/ollivuolteenaho/dev/qt670/qt5-build-android/qtbase/include -I/Users/ollivuolteenaho/dev/qt670/qt5-build-android/qtbase/include/QtCore -I/Users/ollivuolteenaho/dev/qt670/qt5/qtbase/mkspecs/android-clang -I/Users/ollivuolteenaho/dev/qt670/qt5-build-android/qtbase/src/corelib -I/Users/ollivuolteenaho/dev/qt670/qt5-build-android/qtbase/include/QtCore/6.8.0 -I/Users/ollivuolteenaho/dev/qt670/qt5-build-android/qtbase/include/QtCore/6.8.0/QtCore -I/Users/ollivuolteenaho/dev/qt670/qt5-build-android/qtbase/include/QtWidgets -I/Users/ollivuolteenaho/dev/qt670/qt5-build-android/qtbase/include/QtGui -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -DNDEBUG -Oz -std=gnu++17 -fPIC -fvisibility=default -Wall -Wextra -pthread -MD -MT qtbase/examples/corelib/platform/androidnotifier/CMakeFiles/androidnotifier.dir/main.cpp.o -MF qtbase/examples/corelib/platform/androidnotifier/CMakeFiles/androidnotifier.dir/main.cpp.o.d -o qtbase/examples/corelib/platform/androidnotifier/CMakeFiles/androidnotifier.dir/main.cpp.o -c /Users/ollivuolteenaho/dev/qt670/qt5/qtbase/examples/corelib/platform/androidnotifier/main.cpp
/Users/ollivuolteenaho/dev/qt670/qt5/qtbase/examples/corelib/platform/androidnotifier/main.cpp:44:5: error: no matching function for call to 'connect'
QObject::connect(&happyButton, &QPushButton::clicked, []() {
^~~~~~~~~~~~~~~~
/Users/ollivuolteenaho/dev/qt670/qt5/qtbase/src/corelib/kernel/qobject.h:397:41: note: candidate function not viable: no known conversion from 'void (QAbstractButton::*)(bool)' to 'const char *' for 2nd argument
inline QMetaObject::Connection QObject::connect(const QObject *asender, const char *asignal,
^
/Users/ollivuolteenaho/dev/qt670/qt5/qtbase/src/corelib/kernel/qobject.h:201:36: note: candidate function not viable: requires at least 4 arguments, but 3 were provided
static QMetaObject::Connection connect(const QObject *sender, const char *signal,
^
/Users/ollivuolteenaho/dev/qt670/qt5/qtbase/src/corelib/kernel/qobject.h:204:36: note: candidate function not viable: requires at least 4 arguments, but 3 were provided
static QMetaObject::Connection connect(const QObject *sender, const QMetaMethod &signal,
^
/Users/ollivuolteenaho/dev/qt670/qt5/qtbase/src/corelib/kernel/qobject.h:222:9: note: candidate function template not viable: requires at least 4 arguments, but 3 were provided
connect(const typename QtPrivate::FunctionPointer<Func1>::Object *sender, Func1 signal,
^
/Users/ollivuolteenaho/dev/qt670/qt5/qtbase/examples/corelib/platform/androidnotifier/main.cpp:48:5: err
or: no matching function for call to 'connect'
QObject::connect(&sadButton, &QPushButton::clicked, []() {
^~~~~~~~~~~~~~~~
/Users/ollivuolteenaho/dev/qt670/qt5/qtbase/src/corelib/kernel/qobject.h:397:41: note: candidate function not viable: no known conversion from 'void (QAbstractButton::*)(bool)' to 'const char *' for 2nd argument
inline QMetaObject::Connection QObject::connect(const QObject *asender, const char *asignal,
^
/Users/ollivuolteenaho/dev/qt670/qt5/qtbase/src/corelib/kernel/qobject.h:201:36: note: candidate function not viable: requires at least 4 arguments, but 3 were provided
static QMetaObject::Connection connect(const QObject *sender, const char *signal,
^
/Users/ollivuolteenaho/dev/qt670/qt5/qtbase/src/corelib/kernel/qobject.h:204:36: note: candidate function not viable: requires at least 4 arguments, but 3 were provided
static QMetaObject::Connection connect(const QObject *sender, const QMetaMethod &signal,
^
/Users/ollivuolteenaho/dev/qt670/qt5/qtbase/src/corelib/kernel/qobject.h:222:9: note: candidate function template not viable: requires at least 4 arguments, but 3 were provided
connect(const typename QtPrivate::FunctionPointer<Func1>::Object *sender, Func1 signal,
^
2 errors generated.
Strangely, installing Qt with the installer and building the example from there using QtC works fine.
Minimal steps to reproduce (basically: build the host side, build the Android side with -make examples):
git clone "https://codereview.qt-project.org/qt/qt5"
cd qt5
perl init-repository --module-subset=qtbase
cd ..
mkdir qt5-build-macos && cd qt5-build-macos
../qt5/configure -prefix ../qt5-install-macos
ninja && ninja install
cd ..
mkdir qt5-build-android && cd qt5-build-android
./qt5/configure \
-platform android-clang \
-android-abis arm64-v8a \
-qt-host-path ../qt5-install-macos \
-android-ndk $ANDROID_NDK_ROOT \
-android-sdk $ANDROID_SDK_ROOT \
-prefix ../qt5-install-android \
-make examples
ninja